题目:给出n 个学生的考试成绩表,每条信息由姓名与分数组成,试设计一个算法(1)按分数高低次序打印出每个学生在考试中获得的名次,分数相同的为同一名次;(2)按名次列出每个学生的姓名和分数。其中,学生的考试成绩表必须通过键盘输入数据而建立,同时要对输出进行格式控制。用冒泡排序或快速排序算法实现该问题,最后要对结果做简单分析。
import java.util.*;
public class StudentScoreManagement {
private Scanner reader = new Scanner(System.in);
private ArrayList<Student> students = new ArrayList<Student>();
public static void main(String[] args) {
StudentScoreManagement ssm = new StudentScoreManagement();
ssm.input();
ssm.ranking();
System.out.println("1.按分数高低次序打印每个学生在考试中获得的名次");
System.out.println("2.按名次列出每个学生的姓名和分数");
System.out.println("请选择:");
Scanner choice = new Scanner(System.in);
int ch = choice.nextInt();
while(true) {
if (ch == 1) {
ssm.printSortedByScore();
break;
}
else if (ch == 2) {
ssm.printSortedByRank();
break;
}
els