二维数组综合应用

2019-03-20  本文已影响0人  信号传D

需求:已知有3个班级各5名学员,请使用二维数组动态录入所有学员成绩,并计算各个班级的平均成绩,最好成绩和最差成绩。依次输出,平均成绩最好的班,三个班所有学员中成绩最高的分数,最差的分数。

private static void fun5() {
        double [][] score=new double[3][];

        Scanner sc=new Scanner(System.in);
        score[0]=new double[5];
        score[1]=new double[5];
        score[2]=new double[5];
        double [] avg=new double [3]; //存储每个班平均成绩
        double [] max=new double [3]; //存储每个班最高成绩
        double [] min=new double [3]; //存储每个班最低成绩

      for(int i=0;i<score.length;i++){
          double sum=0;   //记录每个班总成绩
          double Max=0,Min=100;
          for(int j=0;j<score[i].length;j++){
              System.out.println("请输入第"+(i+1)+"班,第"+(j+1)+"名同学的分数:");
              score[i][j] = sc.nextDouble();  //用数组接数据
              sum+=score[i][j];

                      if(score[i][j]>Max){
                          Max=score[i][j];
                      }
                      if(score[i][j]<Min){
                          Min=score[i][j];
                      }
          }
       /*   Arrays.sort(score);
          System.out.println(Arrays.toString(score));
          Max=score.length;
          Min=double() score[0];*/
              avg[i]=sum/5;  //每个班的平均成绩
              max[i]=Max;
              min[i]=Min;
      }
      double max_avg=avg[0];
      int index=0;

      for(int i=0;i<avg.length;i++){
          if(avg[i]>max_avg){
              max_avg=avg[i];
              index=i;
              break;
          }
      }
        System.out.println("平均成绩最大值是:"+max_avg+",位于"+(index+1)+"班");
        Arrays.sort(max);
        Arrays.sort(min);
        System.out.println("三个班中最好的成绩:"+max[max.length-1]);
        System.out.println("三个班中最差的成绩:"+min[0]);
    }

上一篇 下一篇

猜你喜欢

热点阅读