java編程一個可以 進行多個選擇題測驗成績(從高到低依次輸出學生下標和成績(可以重復))
阿新 • • 發佈:2019-04-05
answer 學生 pre sys har b數 swe 另一個 統計 成績可重復,從高到低輸出,不會重復輸出
public class GradeExam { 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[] a=new int [8]; for(int i=0;i<answers.length;i++) { int j=0; for(j=0;j<answers[i].length;j++) { if(answers[i][j]==keys[j]) //correctCount++; a[i]++;//統計成績 } } int[] b=new int [a.length];//定義另一個數組,以便後面對照 int i=0; int j=0; for(i=0;i<a.length;i++) { b[i]=a[i];//給b數組賦值且不排序 } java.util.Arrays.sort(a);//對成績數組a排序 for(i=a.length-1;i>=0;i--) { if(i!=0) { if(a[i]==a[i-1]) continue; }//遇到重復成績直接跳過本循環,以免重復輸出 for(j=0;j<a.length;j++) { if(a[i]==b[j])//a,b數組對照 { System.out.println("Student"+j+"‘s correct count is"+a[i]); //輸出學生下標和成績 } } } } }
java編程一個可以 進行多個選擇題測驗成績(從高到低依次輸出學生下標和成績(可以重復))