Skip to main content

Solving the TCS CPA Java Question(December,2021) asked by Subscriber (Sim class).

 Question:

     Create a class Sim with below attributes:


simId - int

customerName - String

balance - double

ratePerSecond - double

circle - String


Write getters, setters and parameterized constructor as required. 


Public class Solution is already created with main method.

Code inside main method should not be altered else your solution might be 

scored as zero.You may copy the code from main method in eclipse to 

verify your implementation. 



Implement static method - transferCustomerCircle in Solution class.

This method will take first parameter as array of Sim class objects, 

second parameter as circle to be transferred (which is String parameter 

circle1) and third parameter as new circle (which is String parameter 

circle2).


Method will transfer the customer to new circle (circle2), where the

 circle attribute would match second parameter (circle1). 

Method will return array of Sim objects for which circle is transferred.

 Return array should be sorted in descending order of ratePerSecond

 (assuming ratePerSecond is not same for any of the Sim objects).



This method should be called from main method and display the simId,

customerName,circle and ratePerSecond of returned objects 

(as per sample output).


Main method mentioned above already has Scanner code to read values, 

create objects and test above methods. Hence do not modify it.



************************************************************************


Consider below sample input and output:


Input:

1

raj

100

1.5

KOL

2

chetan

200

1.6

KOL

3

asha

150

1.7

MUM

4

kiran

50

2.2

KOL

5

vijay

130

1.8

KOL

AHD

KOL


Output:

4 kiran KOL 2.2

5 vijay KOL 1.8

2 chetan KOL 1.6


*******************************************************************************



Solution:




import java.util.Arrays;

import java.util.Scanner;


public class Solution {

    public static void main(String[] args) {

         Scanner sc=new Scanner(System.in);

         Sim[] sims=new  Sim[5];


        for (int i = 0; i <5 ; i++) {

           int a=sc.nextInt();sc.nextLine();

           String b=sc.nextLine();

           double c=sc.nextDouble();sc.nextLine();

           double d=sc.nextDouble();sc.nextLine();

           String e=sc.nextLine();

               sims[i]  = new Sim(a,b,c,d,e);

        }


       String  circle1=sc.nextLine();

        String  circle2=sc.nextLine();


      Sim[]  ans =transferCustomerCircle(sims,circle1,circle2);

         if(ans!=null)

         {

             for (int i = 0; i <ans.length ; i++) {

                 System.out.println(ans[i].simId+" "+ans[i].customerName+" "+ans[i].circle+" "+ans[i].ratePerSecond);

             }

         }

    }


   public static Sim[] transferCustomerCircle(Sim[] sims,String circle1,String circle2)

    {

        double[] arr=new double[0];


        for (int i = 0; i < 5; i++) {

            if(sims[i].circle.equalsIgnoreCase(circle1))

            {

                sims[i].circle=circle2;

                arr= Arrays.copyOf(arr,arr.length+1);

                arr[arr.length-1]=sims[i].ratePerSecond;

            }

        }


        Arrays.sort(arr);

          Sim[] temp=new Sim[0];

        for (int i = arr.length-1; i >=0 ; i--) {

            for (int j = 0; j <5 ; j++) {

               if(sims[j].ratePerSecond==arr[i])

               {


                   temp= Arrays.copyOf(temp,temp.length+1);

                   temp[temp.length-1]=sims[j];

               }

            }

        }

        if(arr.length>0)

        {

            return temp;

        }



        return null;

    }

}



class Sim{

    int simId;

    String customerName;

    double balance;

    double ratePerSecond;

    String circle;


    //parametrized constructor



    public Sim(int simId, String customerName, double balance, double ratePerSecond, String circle) {

        this.simId = simId;

        this.customerName = customerName;

        this.balance = balance;

        this.ratePerSecond = ratePerSecond;

        this.circle = circle;

    }



    //getter and setter



    public int getSimId() {

        return simId;

    }


    public void setSimId(int simId) {

        this.simId = simId;

    }


    public String getCustomerName() {

        return customerName;

    }


    public void setCustomerName(String customerName) {

        this.customerName = customerName;

    }


    public double getBalance() {

        return balance;

    }


    public void setBalance(double balance) {

        this.balance = balance;

    }


    public double getRatePerSecond() {

        return ratePerSecond;

    }


    public void setRatePerSecond(double ratePerSecond) {

        this.ratePerSecond = ratePerSecond;

    }


    public String getCircle() {

        return circle;

    }


    public void setCircle(String circle) {

        this.circle = circle;

    }

}


**********************************************************************************

Video to the Solution is given below:






Comments

  1. Program executed successfully, either PUBLIC(visible below) or PRIVATE(hidden) test case(s) failed.

    ReplyDelete
  2. where you are running this code?
    if you are running this code on online compilers then ,I think that wont work.
    i recommend you to install any IDE like eclipse or intellij or vscode
    and then run the code.

    ReplyDelete
  3. the input that you have given in the blog, is different in comparison to the question, here in input we don't have any AHD, only kol, the input should have AHD , otherwise the code runs fine.

    ReplyDelete

Post a Comment

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...