Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This is the question: These are in Java format. Comments are required on these t

ID: 3725398 • Letter: T

Question

This is the question:

These are in Java format.

Comments are required on these two Classes (Student.java and StudentDemo.java) all over the coding:

Provide proper comments all over the codings.

---------------------------------------------------------------------------------------------------------------

import java.io.*;
import java.util.*;

class Student {

   private String name;
   private double gradePointAverage;

   public Student(String n , double a){
   name = n;
   gradePointAverage = a;
   }
   public String getName(){
return name;
   }
   public double getGradePointAverage(){
return gradePointAverage;
   }
   public void setName(String n){
name = n;
   }
   public void setGradePointAverage(double a){
gradePointAverage = a;
   }

}

----------------------------------------------------------------------------------------------------------------

import java.util.ArrayList;
import java.util.Scanner;
public class StudentDemo{
   public static ArrayList<Student> sort(ArrayList<Student> list){
ArrayList<Student> list1 = new ArrayList<Student>();
for (int i = 0; i<list.size(); i++){
   int index = -1;
   for (int j = 0; j< list1.size(); j++){
if (list.get(i).getGradePointAverage() > list1.get(j).getGradePointAverage()){
   index = j;
   list1.add(j,list.get(i));
   break;
}
   }
   if (index == -1)
list1.add(list.get(i));
}
return list1;
   }
   public static void main(String[] args){
  
ArrayList<Student> list = new ArrayList<Student>();
Scanner sc = new Scanner(System.in);

  
while(true){
   System.out.print("Enter student name or quit:");
   String name = sc.nextLine();
   if (name.equals("quit"))
break;
   System.out.print("Enter grade point ave:");
   double gpa = Double.parseDouble(sc.nextLine());
   Student st = new Student(name,gpa);
   int index = -1;
   for (int i = 0; i< list.size(); i++){
if (name.compareTo(list.get(i).getName()) < 0){
   index = i;
   list.add(i,st);
   break;
}
   }
   if (index == -1)
list.add(st);
  
}
  
System.out.println("Students:");
System.out.print("[ ");
for (int i = 0; i<list.size(); i++){
   if (i < list.size() -1)
System.out.print(list.get(i).getName() + " Grade Point Avg:" + list.get(i).getGradePointAverage() + ",");
   else
System.out.print(list.get(i).getName() + " Grade Point Avg:" + list.get(i).getGradePointAverage());
}
System.out.println(" ]");
list = sort(list);
System.out.println("Students in order of Grade Point Average:");
System.out.print("[ ");
for (int i = 0; i<list.size(); i++){
   if (i < list.size() -1)
System.out.print(list.get(i).getName() + " Grade Point Avg:" + list.get(i).getGradePointAverage() + ",");
   else
System.out.print(list.get(i).getName() + " Grade Point Avg:" + list.get(i).getGradePointAverage());
}
System.out.println(" ]");

  
   }
}

xercise In this exercise, you will first create a Student class. A Student has two attributes: name (String) and gradePointAverage (double). The class has a constructor that sets the name and grade point average of the Student. It has appropriate get and set methods. As well, there is a toString method that prints the student's name and their grade point average (highest is 4.0) You will then write a demo program. In the demo program, you will create an ArrayList of Students. You will populate the arraylist with user inputted data. You should store the students alphabetically by name (A to Z) in the arraylist The algorithm to sort is simple. As you read in each name for the Student (say namel), compare it with each name (say name2 of a Student) stored in the arraylist starting from the index 0. As soon (namel.compareTo(name2) >0), that is the right index to put namel. Be sure that you do not cross the arraylist boundary In addition, you will write a method in your demo class that will take in your arraylist of students and return a new arraylist with the students sorted by their grade point average (highest to lowest). You can apply the same sort algorithm that you used for the names See below for a sample output. Enter student name or quit: Bush, Sue Enter grade point ave: 3.4 Enter student name or quit: Neddle, Ned Enter grade point ave: 3.2 Enter student name or quit: Zhang, Bin Enter grade point ave: 3.7 Enter student name or quit: Adda. Ida Enter grade point ave: 3.9 Enter student name or quit: quit Students [ Adda, Ida Grade Point Ave: 3.9, Bush, Sue Grade Point Ave: 3.4, Neddle, Ned Grade Point Ave: 3.2, Zhang, Bin Grade Point Ave: 3.7] Students in order of Grade Point Average [Adda, Ida Grade Point Ave: 3.9 Zhang, Bin Grade Point Ave: 3.7, Bush, Sue Grade Point Ave: 3.4, Neddle, Ned Grade Point Ave: 3.21

Explanation / Answer

Student.java

public class Student {

//Declaring instance variables

private String name;

private double gradePointAverage;

//Parameterized constructor

public Student(String n , double a){

name = n;

gradePointAverage = a;

}

// getters and setters

public String getName(){

return name;

}

public double getGradePointAverage(){

return gradePointAverage;

}

public void setName(String n){

name = n;

}

public void setGradePointAverage(double a){

gradePointAverage = a;

}

}

_________________

StudentDemo.java

import java.util.ArrayList;

import java.util.Scanner;

public class StudentDemo{

public static ArrayList<Student> sort(ArrayList<Student> list){

//Creating an ArrayList Which holds Student Objects

ArrayList<Student> list1 = new ArrayList<Student>();

  

/* This nested for loop will sort the ArrayList which holds

* Students based on Student grade Point in Ascending order

*/

for (int i = 0; i<list.size(); i++){

int index = -1;

for (int j = 0; j< list1.size(); j++){

if (list.get(i).getGradePointAverage() > list1.get(j).getGradePointAverage()){

index = j;

list1.add(j,list.get(i));

break;

}

}

if (index == -1)

list1.add(list.get(i));

}

return list1;

}

public static void main(String[] args){

  

ArrayList<Student> list = new ArrayList<Student>();

Scanner sc = new Scanner(System.in);

/* This while loop continues to execute

* until the user enters "quit"

*/

while(true){

//Getting the name entered by the user

System.out.print("Enter student name or quit:");

String name = sc.nextLine();

//checking whether user enters "quit" or not

if (name.equals("quit"))

break;

//Getting the grade entered by the user

System.out.print("Enter grade point ave:");

double gpa = Double.parseDouble(sc.nextLine());

/* Creating the Student Object parameterized constructor

* by passing the name and student average passing as arguments

*/

Student st = new Student(name,gpa);

int index = -1;

//Sorting the array List based on user entered name

for (int i = 0; i< list.size(); i++){

if (name.compareTo(list.get(i).getName()) < 0){

index = i;

list.add(i,st);

break;

}

}

if (index == -1)

list.add(st);

  

}

  

//Displaying the Student objects Before Sorting based on Student average in decending order

System.out.println("Students:");

System.out.print("[ ");

for (int i = 0; i<list.size(); i++){

if (i < list.size() -1)

System.out.print(list.get(i).getName() + " Grade Point Avg:" + list.get(i).getGradePointAverage() + ",");

else

System.out.print(list.get(i).getName() + " Grade Point Avg:" + list.get(i).getGradePointAverage());

}   

System.out.println(" ]");

//calling the sort method

list = sort(list);

  

System.out.println("Students in order of Grade Point Average:");

System.out.print("[ ");

  

//Displaying the Student objects after Sorting based on Student average in decending order

for (int i = 0; i<list.size(); i++){

if (i < list.size() -1)

System.out.print(list.get(i).getName() + " Grade Point Avg:" + list.get(i).getGradePointAverage() + ",");

else

System.out.print(list.get(i).getName() + " Grade Point Avg:" + list.get(i).getGradePointAverage());

}   

System.out.println(" ]");

  

}

}

____________________

Output:

Enter student name or quit:Williams
Enter grade point ave:89.00
Enter student name or quit:John
Enter grade point ave:78.00
Enter student name or quit:Kevin
Enter grade point ave:92.00
Enter student name or quit:Mike
Enter grade point ave:65.00
Enter student name or quit:Rahul
Enter grade point ave:79.00
Enter student name or quit:Vivek
Enter grade point ave:94.00
Enter student name or quit:quit
Students:
[ John Grade Point Avg:78.0,Kevin Grade Point Avg:92.0,Mike Grade Point Avg:65.0,Rahul Grade Point Avg:79.0,Vivek Grade Point Avg:94.0,Williams Grade Point Avg:89.0 ]
Students in order of Grade Point Average:
[ Vivek Grade Point Avg:94.0,Kevin Grade Point Avg:92.0,Williams Grade Point Avg:89.0,Rahul Grade Point Avg:79.0,John Grade Point Avg:78.0,Mike Grade Point Avg:65.0 ]

______________Thank You

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote