Skip to main content

how to solve a java question that is usually asked in TCS IRA/PRA/CPA Exam?

 Create a class called Student with the below attributes:


rollNo - int

name - String

branch - String

score – double

dayScholar - boolean


The above attributes should be private, write getters, setters

 and parameterized constructor as required.


Create class Solution with main method.

Implement two static methods -findCountOfDayscholarStudents

  and findStudentwithSecondHighestScore in Solution class.


findCountOfDayscholarStudents:


This method will take an array of Student objects as an input parameter.

 This method will calculate and return the count of Students whose score 

is greater than 80 and who are all from dayScholar.

If no Student scored greater than 80 and from dayScholar are present

 in the array of Student objects, then the method should return 0.


For findCountOfDayscholarStudents method - 

The main method should print the returned count as it is if 

the returned value is greater than 0, else it should print 

"There are no such dayscholar students".




findStudentwithSecondHighestScore:

This method will take an array of Student objects as an input parameter.

 This method will return the object of the second highest score student 

from the array of Student objects who are not from the dayScholar.

If no Student is a dayScholar  in the array of Student objects, then 

the method should return null.


For findStudentwithSecondHighestScore method - 

The main method should print the rollNo, name and score in the below format

 from the returned object if the retuned value is not null.

rollNo#name#score

If the returned value is null, then it should print 

”There are no student from non day scholar”





Note : All the searches should be case insensitive.

     The combination of dayScholar and score for each student is

 always unique.

The above mentioned static methods should be called from the main method.






Before calling these static methods in main, use Scanner object to 

read the values of four Student objects referring attributes in the 

above mentioned attribute sequence. 

Consider below sample input and output:

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

Input:


1001

Ashwa

IT

85

true


1002

Preeti

IT

70

false


1003

Uma

ECE

85

false


1004

Akash

EEE

90

true



Output:

2

1002#Preeti#70.0


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


code :


import java.util.Arrays;

import java.util.Scanner;


public class Solution {

    public static void main(String[] args) {

         Student[] students=new Student[4];

         Scanner sc=new Scanner(System.in);

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

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

             String b=sc.nextLine();

             String c=sc.nextLine();

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

             boolean e=sc.nextBoolean();

              students[i] = new Student(a,b,c,d,e);


        }

       int ans1= findCountOfDayscholarStudents(students);

        if(ans1>0)

        {

            System.out.println(ans1);

        }

        else

        {

            System.out.println("There are no such dayscholar students");

        }


     Student ans2 = findStudentwithSecondHighestScore(students);

        if(ans2==null)

        {

            System.out.println("There are no student from non day scholar");

        }

        else

        {

            System.out.println(ans2.getRollNo()+"#"+ans2.getName()+"#"+ans2.getScore());

        }




    }

   public static int  findCountOfDayscholarStudents(Student[] students)

    {

        int count=0;

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

               if(students[i].getScore()>80 && students[i].isDayScholar()==true)

               {

                    count=count+1;

               }

        }


        if(count>0)

        {

            return count;

        }

        return 0;

    }


    public  static  Student findStudentwithSecondHighestScore(Student[] students)

    {

        double[] arr=new double[0];

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

            if(students[i].isDayScholar()==false)

            {

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

               arr[arr.length-1]=students[i].getScore();

            }

        }

        Arrays.sort(arr);

      double shs= arr[arr.length-2];


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

           if(students[i].getScore()==shs)

           {

               return students[i];

           }

        }

        return null;

    }

}


class Student{

 private  int rollNo;

  private String name ;

  private String branch;

  private double score;

  private boolean dayScholar;



    public Student(int rollNo, String name, String branch, double score, boolean dayScholar) {

        this.rollNo = rollNo;

        this.name = name;

        this.branch = branch;

        this.score = score;

        this.dayScholar = dayScholar;

    }


    //getters and setters


    public int getRollNo() {

        return rollNo;

    }


    public void setRollNo(int rollNo) {

        this.rollNo = rollNo;

    }


    public String getName() {

        return name;

    }


    public void setName(String name) {

        this.name = name;

    }


    public String getBranch() {

        return branch;

    }


    public void setBranch(String branch) {

        this.branch = branch;

    }


    public double getScore() {

        return score;

    }


    public void setScore(double score) {

        this.score = score;

    }


    public boolean isDayScholar() {

        return dayScholar;

    }


    public void setDayScholar(boolean dayScholar) {

        this.dayScholar = dayScholar;

    }

}

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


Didn't understand the solution given above?

watch the video given below:




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





Comments

  1. Bro if I double click na I didn't found the constructor tab bro

    ReplyDelete

  2. //Some Changes Now it works

    import java.util.Arrays;

    import java.util.Scanner;



    public class MyClass {

    public static void main(String[] args) {

    Student[] students=new Student[4];

    Scanner sc=new Scanner(System.in);

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

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

    String b=sc.nextLine();

    String c=sc.nextLine();

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

    boolean e=sc.nextBoolean();

    students[i] = new Student(a,b,c,d,e);



    }

    int ans1= findCountOfDayscholarStudents(students);

    if(ans1>0)

    {

    System.out.println(ans1);

    }

    else

    {

    System.out.println("There are no such dayscholar students");

    }



    Student ans2 = findStudentwithSecondHighestScore(students);

    if(ans2==null)

    {

    System.out.println("There are no student from non day scholar");

    }

    else

    {

    System.out.println(ans2.getRollNo()+"#"+ans2.getName()+"#"+ans2.getScore());

    }







    }

    public static int findCountOfDayscholarStudents(Student[] students)

    {

    int count=0;

    for (int i = 0; i 80 && students[i].isDayScholar()==true)

    {

    count=count+1;

    }

    }



    if(count>0)

    {

    return count;

    }

    return 0;

    }



    public static Student findStudentwithSecondHighestScore(Student[] students)

    {

    double[] arr=new double[4];

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

    if(students[i].isDayScholar()==false)

    {

    arr[i] = students[i].getScore();

    }

    }

    Arrays.sort(arr);



    double shs= arr[arr.length-2];




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

    if(students[i].getScore()==shs)

    {

    return students[i];

    }

    }

    return null;

    }

    }



    class Student{

    private int rollNo;

    private String name ;

    private String branch;

    private double score;

    private boolean dayScholar;





    public Student(int rollNo, String name, String branch, double score, boolean dayScholar) {

    this.rollNo = rollNo;

    this.name = name;

    this.branch = branch;

    this.score = score;

    this.dayScholar = dayScholar;

    }



    //getters and setters



    public int getRollNo() {

    return rollNo;

    }



    public void setRollNo(int rollNo) {

    this.rollNo = rollNo;

    }



    public String getName() {

    return name;

    }



    public void setName(String name) {

    this.name = name;

    }



    public String getBranch() {

    return branch;

    }



    public void setBranch(String branch) {

    this.branch = branch;

    }



    public double getScore() {

    return score;

    }



    public void setScore(double score) {

    this.score = score;

    }



    public boolean isDayScholar() {

    return dayScholar;

    }



    public void setDayScholar(boolean dayScholar) {

    this.dayScholar = dayScholar;

    }

    }

    ReplyDelete

Post a Comment