class Student implements Comparable<Student> {
String name;
int score;
public Student(){}
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public int compareTo(Student o) {
return this.getScore() - o.getScore();
}
}
import java.util.Scanner;
public class InputHandler {
Scanner scanner = new Scanner(System.in);
Scanner scannerString = new Scanner(System.in);
public int getTotalStudents() throws Exception {
System.out.println("Input the total number of available students then press Enter");
return Integer.parseInt(scanner.nextLine().trim());
}
public Student addRecord() throws Exception {
String name;
int score;
System.out.println("Please input student name & press Enter and then Enter score");
name = scannerString.next();
score = scanner.nextInt();
Student student = new Student(name, score);
return student;
}
}
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
System.out.println("Welcome to Student Score Maanagement System");
List<Student> students = getInput();
students.sort((student1, student2) -> student2.getScore() - student1.getScore());
System.out.println("Student Records in decending order of score:");
students.forEach(student -> System.out.println(student.getName() + ":" + student.getScore()));
System.exit(0);
}
private static List<Student> getInput() {
InputHandler handler = new InputHandler();
int studentCount = 0;
List<Student> students = new ArrayList<>();
boolean countFlag = true;
while (countFlag) {
try {
studentCount = handler.getTotalStudents();
countFlag = false;
} catch (Exception e) {
System.out.println("Invalid ipnut entered. Please re-enter valid value.");
}
}
for (int i = 0; i < studentCount; i++) {
boolean studentFlag = true;
while (studentFlag) {
try {
students.add(handler.addRecord());
studentFlag = false;
} catch (Exception e) {
System.out.println("Invalid ipnut entered. Please re-enter valid value.");
}
}
}
return students;
}
}
Comments
Leave a comment