Java实现对班级数据的输入和统计


如题:

需求:保存全班的每个组的成绩,并对成绩做统计

  1. 从键盘输入一共有几组

  2. 从键盘输入每一组分别有多少人

  3. 从键盘输入每一个同学的成绩

  4. 统计每一组的最高分、最低分

  5. 统计每一组的平均分

  6. 统计全班的最高分、最低分

  7. 统计全班的平均分

  8. 统计全班的总人数

 

 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 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM