import java.util.Comparator;
public class Student {
private String studentName;
private int grade;
public Student(String studentName, int score) {
this.studentName = studentName;
this.grade = grade;
}
public String toString() {
return "\nStudent Name: " + studentName + "\nGrade: " + grade;
}
public String getStudentName() {
return studentName;
}
public int getGrade() {
return grade;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public void setGrade(int grade) {
this.grade = grade;
}
}
//Sorting side
class sortGrade implements Comparator<Student> {
@Override
public int compare(Student a, Student b) {
return (a.getGrade() - b.getGrade());
}
}
-----------------------------------------------------------------------
public class Class {
Student[] student;
private String className;
private int classQuantity;
private int totalGrade = 0;
//add student to the class
public void addNewStudent(String studentName, double grade) {
}
public double calculateTotalGrade() {
for (Student students : student) {
totalGrade += students.getGrade();
}
return Math.round(totalGrade * 10.0) / 10.0;
}
public Class(Student[] student,
String className, int classQuantity) {
this.student = student;
this.className = className;
this.classQuantity = classQuantity;
}
public Class(String className, int classQuantity) {
this.className = className;
this.classQuantity = classQuantity;
}
public String toString() {
String studentList = " ";
for (int i = 0; i < student.length; i++) {
studentList += "\n\tStudent " + (i + 1) + ": " + student[i].getStudentName()
+ "\n\tGrade: " + student[i].getGrade();
}
return "\nClass Name: " + className
+ "\nClass Quantity: " + classQuantity + "\n" + studentList;
}
}
--------------------------------------------------------------------------------------
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
public class MainDriver {
private Object[] a;
void printSort(Student[] sortList) {
for (Object sort : a) {
System.out.print(sort + " ");
}
System.out.println();
}
public static void main(String[] args) {
int size = 10;
Class[] classroom = new Class[size];
Student[] studentList1 = {
new Student("Tong Kim", 10),
new Student("Ali Pole", 30),
new Student("James Shawn", 75)};
Student[] studentList2 = {
new Student("James Mic", 20),
new Student("Ho Kim", 18),
new Student("Mark Lee", 65)};
Student[] studentList3 = {
new Student("Luke Kim", 90),
new Student("Noth Shawn", 44),
new Student("Lex Wale", 12)
};
classroom[0] = new Class(studentList1, "Sunrise", 20);
classroom[1] = new Class(studentList2, "Thunder", 10);
classroom[2] = new Class(studentList3, "Lightning", 5);
Scanner input = new Scanner(System.in);
boolean functionSelection = true;
// Student[] SortList = studentList1;
while (functionSelection) {
System.out.println("=== SCHOOL SYSTEM === \n");
System.out.println("[1] Add New Class");
System.out.println("[2] Exit");
System.out.print("\nChoose a function: ");
//Check if it is other then number
if (!input.hasNextInt()) {
System.out.println(" \nChoose the existing number");
input.nextLine();
continue;
}
int choice = input.nextInt();
String newClassName, searchClass, newName, addName;
switch (choice) {
case 1:
//Show School List
/*List all class, student, grade and the total grade
in ascending*/
System.out.println("=== SCHOOL LIST ===");
Student[] SortList = studentList1;
//Descending Order Arrays
Comparator<Student> descendingOrder;
descendingOrder = Collections.reverseOrder
(new sortGrade());
Arrays.sort(SortList, descendingOrder);
System.out.println(Arrays.toString(SortList) + "\n");
case 2:
System.exit(0);
break;
default:
System.out.println(" \nChoose the existing number");
}
}
}
}