如题:
需求:保存全班的每个组的成绩,并对成绩做统计
-
从键盘输入一共有几组
-
从键盘输入每一组分别有多少人
-
从键盘输入每一个同学的成绩
-
统计每一组的最高分、最低分
-
统计每一组的平均分
-
统计全班的最高分、最低分
-
统计全班的平均分
-
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 }