第八章第三题(按考分对学生排序)(Sort students by test score)
-
*8.3(按考分对学生排序)重写程序清单8-2,按照正确答案个数的升序显示学生。
*8.3(Sort students by test score)Rewriter listing 8-2 shows students in ascending order of the number of correct answers. -
参考代码:
package chapter08; import java.util.Arrays; public class Code_03 { 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[] grade=new int[8]; 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++; grade[i]=correctCount; } } Arrays.sort(grade); for(int i=0;i<grade.length;i++){ System.out.println("Student "+i+"'s correct count is "+grade[i]); } } }
-
结果显示:
Student 0's correct count is 4 Student 1's correct count is 5 Student 2's correct count is 6 Student 3's correct count is 7 Student 4's correct count is 7 Student 5's correct count is 7 Student 6's correct count is 7 Student 7's correct count is 8 Process finished with exit code 0