如題:
需求:保存全班的每個組的成績,並對成績做統計
-
從鍵盤輸入一共有幾組
-
從鍵盤輸入每一組分別有多少人
-
從鍵盤輸入每一個同學的成績
-
統計每一組的最高分、最低分
-
統計每一組的平均分
-
統計全班的最高分、最低分
-
統計全班的平均分
-
1 public class homework { 2 public static void main(String[] args) { 3 java.util.Scanner input=new java.util.Scanner(System.in); 4 System.out.print("請輸入小組數:"); 5 int group_num=input.nextInt();//小組數 6 int[] groups=new int[group_num];//存儲每組人數 7 //第一次循環,輸入獲取每組人數 8 for (int i = 0; i < group_num; i++) { 9 System.out.print("請輸入第"+(i+1)+"組人數:"); 10 int group_person_num=input.nextInt();//組內人數 11 groups[i]=group_person_num; 12 } 13 //存放每組的統計成績 14 double[] group_mean=new double[group_num]; 15 double[] group_max=new double[group_num]; 16 double[] group_min=new double[group_num]; 17 18 //第二次循環,對每組進行循環 19 for (int i = 0; i < group_num; i++) { 20 double[] scores=new double[groups[i]]; 21 System.out.println("------------------------------"); 22 //輸入獲取每組每位同學成績 23 for (int j = 0; j < groups[i]; j++) { 24 // System.out.println("----------------------------------------"); 25 System.out.print("請輸入第"+(i+1)+"組第"+(j+1)+"位同學的成績:"); 26 // double[] scores=new double[groups[i]]; 27 scores[j]=input.nextDouble(); 28 } 29 double max=scores[0];//用於存放組內最大值 30 double min=scores[0]; 31 double mean=0; 32 //統計組內數據 33 for (int j = 0; j < groups[i]; j++) { 34 if (max<scores[j]){ 35 max=scores[j]; 36 } 37 group_max[i]=max; 38 if (min>scores[j]){ 39 min=scores[j]; 40 } 41 group_min[i]=min; 42 mean+=scores[j];//求和 43 } 44 group_mean[i]=mean/groups[i]; 45 System.out.println("------------------------------------"); 46 System.out.println("第"+(i+1)+"組的最高分是:"+group_max[i]); 47 System.out.println("第"+(i+1)+"組的最低分是:"+group_min[i]); 48 System.out.println("第"+(i+1)+"組的平均分是:"+group_mean[i]); 49 System.out.println(); 50 } 51 //總統計值初始化 52 double total_max=group_max[0]; 53 double total_min=group_min[0]; 54 double sum=0; 55 double total_mean=0; 56 int total_num=0; 57 58 //統計班級總數據 59 for (int i = 0; i < group_num; i++) { 60 if(total_max<group_max[i]) 61 total_max=group_max[i]; 62 if (total_min>group_min[i]) 63 total_min=group_min[i]; 64 sum+=group_mean[i]; 65 total_num+=groups[i]; 66 } 67 total_mean=sum/group_num; 68 System.out.println("------------------------------------"); 69 System.out.print("全班最高分:"+total_max); 70 System.out.println("全班最低分:"+total_min); 71 System.out.println("全班平均分:"+ total_mean); 72 System.out.println("全班總人數:" + total_num); 73 System.out.println(); 74 } 75 }