Java如何使用循环计算平均分数

标签 java loops average mean

我需要用 Java 编写一个程序来计算 4 名学生的平均分数。学生将输入他们的 4 个分数,完成后,他们将输入 -1 来计算平均值。一旦完成,程序需要转移到学生 2,依此类推。最后应该显示 4 名学生平均测试成绩中的最高平均值。这是运行时的样子:

学生1

输入您的分数:100

输入您的分数:90

输入您的分数:80

输入您的分数:70

输入您的分数:-1 * 一旦学生输入 -1,它应该计算平均值

平均分 = 85。

学生2

输入您的分数:90

我的代码的问题是平均值仅对第一个学生是正确的。当我输入-1来获取第二个学生的平均值时,计算不正确。我们只允许使用循环。我得到的唯一提示是,我们应该编写一个迭代 4 次的外循环,编写一个只要学生要输入分数就循环的内循环,在内循环内部提示用户输入他们的最后分数或-1 计算平均值。我不希望你们为我做这个项目,而是让我走上正确的方向。我觉得我没有使用正确的循环。

import java.util.Scanner;

public class TestScore

{

     public static void main(String[]args)
     {

       double score = 0;

       double totalScore = 0;

       double count = 0;

       double average = 0;

       Scanner input = new Scanner(System.in);


      System.out.println("Student 1");
      System.out.printf("Enter Your Score: ");
      score = input.nextDouble();



      while (score != -1){
          System.out.printf("Enter Your Score: ");
          totalScore = totalScore + score;
          score = input.nextDouble();
          count++;
          average = totalScore / count;

          if (score == -1){
              System.out.printf("Average Score = %.2f\n ",average);
              count = 0;
              score = 0;
              totalScore = 0;
              average = 0;
              System.out.println("Student 2");
              System.out.printf("Enter Your Score: ");
              score = input.nextDouble ();
              count++;
              average = totalScore / count;
          }   

      }  



}



}

最佳答案

您还没有明确提出问题,因此我会尝试遵守“让我朝正确的方向前进”部分。

我建议将循环结构重新格式化为更清晰的结构,如下所示:

double total;
for(int student = 1; student <= 4; student++) {
    System.out.printf("Student %d\n", student);
    double sum = 0, count = 0;

    while(true) {
        System.out.printf("Enter your score: ");
        double input = scanner.nextDouble();
        if(input == -1) break;
        sum += input;
        count++;
    }
    total += sum;

    System.out.printf("Average: %.2f\n", sum / count);
}

System.out.printf("Total: %.2f\n", total);

希望这足以给您一些指导。

编辑:忘记处理总计

关于Java如何使用循环计算平均分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28638150/

相关文章:

java - 缺少要求 osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0)))

java - 将数组元素传递给接受整数的方法 (Java)

python - 在 Pandas 中循环清理多个文档并将它们保存到一本书中

html - 在 Ruby on Rails html.erb 文件中循环

algorithm - 没有前瞻性的桶之间的加权分布

r - 如何计算事件的平均小时数?

java - 使用 HttpClient 将 URL 中的 JSON 查询字符串发送到 Web 服务 (Java)

java - Hibernate 的 Criteria API 是否仍然不支持嵌套关系

r - 遍历数据帧以提取 R 中值超过阈值的特定对

MySQL - 计算出 MAX 值子集的 AVG