【发布时间】:2015-03-31 06:05:23
【问题描述】:
我正在尝试执行以下 java 作业,并且除了我输入数字 10 时,它似乎都可以正常工作,它会同时打印“无效成绩!” “你没有输入任何数据!”我想要的是只打印“无效的成绩!”我试图修复它,但我不能。任何人都可以帮助我吗?
谢谢,
作业: 创建一个程序,询问考试结果并计算平均成绩。成绩是 4 到 10 之间的浮点数。程序会询问成绩,直到输入负数。如果用户给出的分数不是 4 到 10 之间的数字,则文本“无效分数!”将打印在屏幕上并且程序要求另一个等级。最后,程序会在屏幕上打印输入成绩的数量及其平均平均值,如打印示例所示。如果没有输入成绩,则提示“您没有输入任何成绩”。是唯一印在屏幕上的东西。
提示:使用双精度型变量来存储平均值。
程序被写入一个名为 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);
}
}
}
【问题讨论】:
-
将
return;添加到if。
标签: java