计算嵌套循环中随机数的平均值?

时间:2020-10-19 00:02:39

标签: java

int num = (int)(Math.random() * 50) + 50;
double total = 0;
for (int row = 1; row <= 5; row++) {
  System.out.println();
  System.out.println("Grades for student #" + row);
  for (int col = 0; col < 10; col++) {
    num = (int)(Math.random() * 50) + 50;
    System.out.print(num + ", ");
    total += num * 1.0;
  }

  System.out.println();
  double average = total / 10;
  System.out.println("Average for student is " + average);
}

我需要找到每个学生的平均成绩。成绩是随机生成的。该代码为第一行数据打印出正确的平均值,但其他四行是错误的。

1 个答案:

答案 0 :(得分:2)

每次运行都需要在外循环中将total重置为0。


for (int row=1; row<=5; row++) {
        double total = 0;  // <-- Move this inside the loop.
        System.out.println();
        System.out.println("Grades for student #" + row);
        for (int col = 0; col<10; col++) {
            double num = (int)(Math.random()*50)+50;
            System.out.print(num+ ", ");
            total += num; // no need to multiply by 1.0
        }
         
         System.out.println();
         double average = total/10;
         System.out.println("Average for student is " + average);         
}