*8.3 (Sort students on grades) Rewrite Listing 8.2, GradeExam.java, to display the
students in increasing order of the number of correct answers.
*8.3(按分数对学生排序)修改清单8.2,以正确答案的数量增加的顺序显示e个学生
代码如下:
import java.util.Arrays;
public class Unite8Test3 {
public static void main(String[] args)
{
char[][] answers = {
{'A', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'D', 'B', 'A', 'B', 'C', 'A', 'E', 'E', 'A', 'D'},
{'E', 'D', 'D', 'A', 'C', 'B', 'E', 'E', 'A', 'D'},
{'C', 'B', 'A', 'E', 'D', 'C', 'E', 'E', 'A', 'D'},
{'A', 'B', 'D', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'B', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'B', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},
{'E', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}};
char[] keys = {'D', 'B', 'D', 'C', 'C', 'D', 'A', 'E', 'A', 'D'};
int arr[]=new int[answers.length];
for (int i = 0; i < answers.length; i++) {
int correctCount = 0;
for (int j = 0; j < answers[i].length; j++) {
if (answers[i][j] == keys[j])
{
correctCount++;
}
}
arr[i]=correctCount;
}
Arrays.sort(arr);
for(int i=0;i<arr.length;i++)
{
System.out.println("Student " + i + "'s correct count is " + arr[i]);
}
}
}
结果如下: