Java黑皮书课后题第8章:*8.3(按考分对学生排序)重写程序清单8-2,按照正确答案个数的升序显示学生
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第8章:*8.3(按考分对学生排序)重写程序清单8-2,按照正确答案个数的升序显示学生
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*8.3(按考分對學生排序)重寫程序清單8-2,按照正確答案個數的升序顯示學生
- 題目
- 題目描述
- 程序清單8-2
- 本題代碼
題目
題目描述
*8.3(按考分對學生排序)重寫程序清單8-2,按照正確答案個數的升序顯示學生
程序清單8-2
public class qingdan {public static void main(String[] args) {// Students' answers to the questionschar[][] 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'}};//Key to the questionschar[] keys = {'D', 'B', 'D', 'C', 'C', 'D', 'A', 'E', 'A', 'D'};//Grade all answersfor (int i = 0 ; i < answers.length ; i++){// Grade one studentint correctCount = 0;for (int j = 0 ; j < answers[i].length ; j++){if (answers[i][j] == keys[j])correctCount++;}System.out.println("Student " + i + "'s correct count is " + correctCount);}} }清單運行:
Student 0's correct count is 7 Student 1's correct count is 6 Student 2's correct count is 5 Student 3's correct count is 4 Student 4's correct count is 8 Student 5's correct count is 7 Student 6's correct count is 7 Student 7's correct count is 7本題代碼
import java.util.Arrays;public class Test8_3 {public static void main(String[] args) {// Students' answers to the questionschar[][] 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'}};//Key to the questionschar[] keys = {'D', 'B', 'D', 'C', 'C', 'D', 'A', 'E', 'A', 'D'};// 增加:數組answers行數長度的int型數組int[] scores = new int[answers.length];//Grade all answersfor (int i = 0 ; i < answers.length ; i++){// Grade one studentint correctCount = 0;for (int j = 0 ; j < answers[i].length ; j++){if (answers[i][j] == keys[j])correctCount++;}scores[i] = correctCount;}//增加:復制scores數組int[] scores_copy = new int[scores.length];System.arraycopy(scores, 0 , scores_copy, 0 , scores.length);//增加:對scores_copy進行排序Arrays.sort(scores_copy);//增加:遍歷scores_copy的元素,匹配scores數組的元素,scores的下標即為學生for (int a = 0 ; a < scores_copy.length ; a++){for (int b = 0 ; b < scores.length ; b++){if (scores_copy[a] == scores[b]){System.out.println("Student " + b + "'s correct count is " + scores_copy[a]);scores[b] = 0;}}}} }總結
以上是生活随笔為你收集整理的Java黑皮书课后题第8章:*8.3(按考分对学生排序)重写程序清单8-2,按照正确答案个数的升序显示学生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第8章:*8.2(求
- 下一篇: Java黑皮书课后题第8章:**8.4(