Skip to main content

Sim_Match_And_Sort

 Problem Statement

Create class Sim with below attributes: id - int company - String balance - int ratePerSecond - double circle - String

Create class Solution and implement static method "matchAndSort" in the Solution class. This method will take array of Sim objects, search_circle String and search_rate double as parameters. And will return another Sim array where the search_circle matches with the circle parameter of the original Sim array and the search_rate double is greater than the original array of Sim object's ratePerSecond attribute which is also sorted by means of balance attribute in descending order.

Write necessary getters and setters.

Before calling "matchAndSort" method in the main method, read values for four Sim objects referring the attributes in above sequence along with a String search_circle and a double search_rate. Then call the "matchAndSort" method and write logic in main method to print the id's of the result obtained.
Input

1
jio
430
1.32
mumbai
2
idea
320
2.26
mumbai
3
airtel
500
2.54
mumbai
4
vodafone
640
3.21
mumbai
mumbai
3.4

Output

4
3
1
2


code:

 

import java.util.Arrays;
import java.util.Scanner;

class Solution {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        Sim[] sim = new Sim[4];
        for(int i = 0;i < 4;i++){
            sim[i] = new Sim(sc.nextInt(),sc.next(),sc.nextInt(),sc.nextDouble(),sc.next());
        }
        String search_circle=sc.next();
        double search_rate=sc.nextDouble();
        sc.nextLine();
        sc.close();
        Sim[] result=matchAndSort(sim,search_circle,search_rate);
        for(int i=0;i<result.length;i++){
            System.out.println(result[i].getId());
        }
    }

    public static Sim[] matchAndSort(Sim[] sim,String search_circle,double search_rate){
        Sim[] refined = new Sim[0];
        for(int i=0;i<sim.length;i++){
            if((sim[i].getCircle()).equals(search_circle)&&(sim[i].getRatePerSecond()<search_rate)){
                refined=Arrays.copyOf(refined, refined.length+1);
                refined[refined.length-1]=sim[i];
            }
        }
        for(int i=0;i<refined.length-1;i++){
            for(int j=0;j<refined.length-i-1;j++){
                if(refined[j].getBalance()<refined[j+1].getBalance()){
                     Sim temp=refined[j];
                     refined[j]=refined[j+1];
                     refined[j+1]=temp;
                }

            }
        }
        return refined;
    }
}

class Sim{
    int id;
    String company;
    int balance;
    double ratePerSecond;
    String circle;
    String getCircle(){
        return circle;
    }
    double getRatePerSecond(){
        return ratePerSecond;
    }
    int getBalance(){
        return balance;
    }
    int getId(){
        return id;
    }
    Sim(int id,String company,int balance,double ratePerSecond,String circle){
        this.id=id;
        this.company=company;
        this.balance=balance;
        this.ratePerSecond=ratePerSecond;
        this.circle=circle;
    }
}


Comments

Popular posts from this blog

December 23 java coding question PRA solution

23 dec pra java coding question solution. Question: Create the class Student with below attributes. id-int name-String marks-int age-int write getters and setters and parametrized constructor in Student class. Create class Solution with main method. implement 2 static methods-findStudentWithMaximumAge and searchStudentById in Solution class. findStudentWithMaximumAge method:     This method will take the Array of the Students objects as input and  returns the Student object having maximum Age.   For this method,the main method should print the student object details with maximum age as it is.    searchStudentById method:     This method will take 2 input parameters.Array of the Students objects and an int value  id.and returns the Student object having the mentioned id  if found, else return null if not found.   For this method ,main method should print the details of Student objects  as it is,if the returned value is not null....

Travel_Agencies

  Problem Statement Create a class TravelAgencies with below attributes: regNo – int agencyName – String pakageType – String price – int flightFacility – boolean Write getters, setters for the above attributes . Create constructor which takes parameter in the above sequence. Create class Solution with main method. Implement two static methods – findAgencyWithHighestPackagePrice and agencyDetailsforGivenIdAndType in Solution class. findAgencyWithHighestPackagePrice method: This method will take array of TravelAgencies objects as an input parameter and return the highest package price from the given array of objects. agencyDetailsForGivenldAndType method: This method will take three input parameters -array of TravelAgencies objects, int parameter regNo and String parameter packageType. The method will return the TravelAgencies object based on below conditions. FlightFacility should be available. The input parameters(regNo and packageType) should matched with the re...

Solving TCS IPA java question.(class Player)

Question:  Create a Class Player with below attributes: id - int country - String side - String price - double Write getters, setters and parameterized constructor as required.  Create class Solution with main method.  Implement static method - searchPlayerForMatch in Solution class. This method will take a String parameter along with the other parameter as array of Player objects. The method will return array of Player where the String parameter appears in the side attribute (with case insensitive  search).   This method should be called from main method and display the id of returned objects in ascending order.  Before calling this method(searchPlayerForMatch) in the main method,  use Scanner object to read values for four Player objects referring the  attributes in the above sequence.  then, read the value for search parameter.  Next call the method searchPlayerForMatch, write the logic to sort the id in ascending order (i...