java 计算平均数

标签 java

我正在尝试执行以下java作业,一切似乎都工作正常,除了当我输入数字<4或>10时,它会打印“无效成绩!” “您还没有输入任何数据!”我想要的是只打印“无效成绩!”我试图修复它,但我做不到。有人可以帮我吗?

谢谢

作业: 创建一个程序,询问考试结果并计算平均成绩。成绩是 4 到 10 之间的 float 。程序会询问成绩,直到输入负数。如果用户给出的成绩不是 4 到 10 之间的数字,则会显示文本“无效成绩!”将打印在屏幕上,并且程序会要求另一个等级。最后,程序在屏幕上打印输入的成绩数及其平均数,如示例打印所示。如果没有输入成绩,则会出现“您没有输入任何成绩”的通知。是屏幕上唯一打印的内容。

提示:使用 double 型变量来存储平均值。

程序被写入一个名为 Average 的类。

输出示例

程序计算输入成绩的平均值。 以负整数结束。

Input a grade (4-10): 5
Input a grade (4-10): 6,5
Input a grade (4-10): 7,5
Input a grade (4-10): 7
Input a grade (4-10): 0
Invalid grade!
Input a grade (4-10): -4

4 grades inputted.

Average of the grades: 6.5

代码

import java.util.Scanner;
public class apples {

   public static void main(String[] args) {

      int inputNumber=0;   
      int sum;           
      int count;         
      double average;    



      sum = 0;
      count = 0;


      Scanner reader = new Scanner(System.in);
      System.out.println("Program calculates the average of inputted grades.");
      System.out.println("Finish with a negative integer.");
      System.out.print("Input a grade (4-10): ");
      inputNumber = reader.nextInt();


      while (inputNumber > 0 && inputNumber>=4 && inputNumber<=10) {
         sum += inputNumber;   
         count++;              
         System.out.print("Input a grade (4-10): ");
         inputNumber = reader.nextInt();

      }

      if (inputNumber<4 || inputNumber>10) {
          System.out.println("Invalid grade!");
      }

      if (count==0) {
          System.out.print("You didn't enter any data!");
      }
      else {
         average = ((double)sum) / count;
         System.out.println();
         System.out.println(count + " grades inputted.");
         System.out.print("Average of the grades: "+ average);
      }

   } 

} 

最佳答案

在第二个 if 之前放置一个 else,这样只有当第一个 if 不存在时才会执行:

if (inputNumber<4 || inputNumber>10) {
    System.out.println("Invalid grade!");
} else if (count==0) {
    System.out.print("You didn't enter any data!");
}

关于java 计算平均数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21932974/

相关文章:

java - 构建 Confluence IO 模式注册表源时出现问题

java.util.ConcurrentModificationException - 如何使用迭代器进行删除

Java Php 连接错误从数据库中检索信息

java - 线程似乎神奇地开始了

java - 使用 Spring Security 的 session 属性

java - 如何使节点在滚动时始终可见?

java - ListView 内的复选框状态在 Android 中不能按相反顺序工作

java - 非最终类可以完全不可变吗?

java - 将 PdfFormField 添加到大 PDF 时出现异常

java - 重新绘制时特定对象闪烁