in java structure please Problem 2 Create a java program tha

***in java structure please***

Problem 2: Create a java program that takes the input as student name, grade point Avg. Ask the user to enter five student names with grades using the scanner class. Please use the concept of stack to store all the student information. Once you store five students, display two options 1 MinGrade 2 Avg grade. If the user enters 1, then print min grade and if the user enters 2, then print Avg class grade.

Solution

import java.util.Scanner;
import java.util.Stack;

//Class for defining student
class StudentInfo{
   public String name;//name attribute;
   public float avgGrade;//avgGrade attribute;
   //accessor method to get avgGrade
   public float getAvgGrade() {
       return avgGrade;
   }
   //accessor method to set avgGrade
   public void setAvgGrade(float avgGrade) {
       this.avgGrade = avgGrade;
   }
   //accessor method to get name
   public String getName() {
       return name;
   }
   //accessor method to set name
   public void setName(String name) {
       this.name = name;
   }
}

//driver class to test the program
public class StudentInfoTest {

   /**
   * @param args
   */
   public static void main(String[] args) {
       Scanner scan= new Scanner(System.in);//scanner to read values from user
       System.out.println(\"Enter the 5 student details\");
       Stack<StudentInfo> studentStack= new Stack<StudentInfo>();//stack class to hold student info
       for(int i=0;i<5;i++){
           StudentInfo s1= new StudentInfo();
           System.out.print((i+1)+\") Enter Student Name :\");
           s1.name=scan.next();//reading name;
           System.out.print((i+1)+\") Enter Student avgGrade :\");
           s1.avgGrade=scan.nextFloat();//reading avgGrade
          
           studentStack.add(s1);//add to student info to stack
       }
      
       boolean shdContinue=false;//boolean to continue the program
      
       do{
           shdContinue=false;
           System.out.println(\"Choose below option\");
           System.out.println(\"1) Min Grade\");
           System.out.println(\"2) Avg Grade\");
           int choice=scan.nextInt();
           //switch to choose option
           switch (choice) {
           case 1:
               displayMinGrade(studentStack);//method to display min grade
               break;
           case 2:
               displayAvgGrade(studentStack);//method to display avg grade
               break;
           default:
               System.out.println(\"Wrong choice\");
               break;
           }
          
           System.out.println(\"do you want to continue? (y or Y)\");
           String y=scan.next();// decide to continue or not
           if(y.equals(\"y\") || y.equals(\"Y\")){
               shdContinue=true;
           }
       }while(shdContinue);
      
      

   }
   // method to calculate the avg grade
   private static void displayAvgGrade(Stack<StudentInfo> studentStack) {
       float avggrade=0;//
       for(StudentInfo eachStudentInfo : studentStack){
           avggrade=avggrade+eachStudentInfo.getAvgGrade();// adding all the avg grade
       }
       avggrade=avggrade/studentStack.size();// dividing the sum by the size of the stack
       System.out.println(\"Avg Grade is: \"+avggrade);
      
   }
   // method to calculate the min grade
   private static void displayMinGrade(Stack<StudentInfo> studentStack) {
       float mingrade=studentStack.get(0).getAvgGrade();// assigning 1st as min.
       for(StudentInfo eachStudentInfo : studentStack){
           if(eachStudentInfo.getAvgGrade()<mingrade){
               mingrade=eachStudentInfo.getAvgGrade();// if the current min is less than mingrade than assign mingrade as current grade
           }
       }
       System.out.println(\"Min Grade is: \"+mingrade);
   }

}

--------------output------------
Enter the 5 student details
1) Enter Student Name :A
1) Enter Student avgGrade :5
2) Enter Student Name :B
2) Enter Student avgGrade :6
3) Enter Student Name :C
3) Enter Student avgGrade :7
4) Enter Student Name :D
4) Enter Student avgGrade :8
5) Enter Student Name :E
5) Enter Student avgGrade :9
Choose below option
1) Min Grade
2) Avg Grade
1
Min Grade is: 5.0
do you want to continue? (y or Y)
y
Choose below option
1) Min Grade
2) Avg Grade
2
Avg Grade is: 7.0
do you want to continue? (y or Y)
j
--------------out ends--------

//note: feel free to ask question/doubts. God Bless you!!

***in java structure please*** Problem 2: Create a java program that takes the input as student name, grade point Avg. Ask the user to enter five student names
***in java structure please*** Problem 2: Create a java program that takes the input as student name, grade point Avg. Ask the user to enter five student names
***in java structure please*** Problem 2: Create a java program that takes the input as student name, grade point Avg. Ask the user to enter five student names

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site