【发布时间】:2017-10-25 10:43:52
【问题描述】:
在我的程序中,我试图让用户输入一个不确定的分数,介于 0 到 100 之间,如果它低于 0 或超过 100,则会出现错误消息,直到用户输入“999”,然后显示输入的成绩数、最高数、最低数和平均数。
我的程序中的所有东西都可以正常工作,但是我不知道如何排除“999”,该“999”使用户能够输入最高等级和平均水平的数字。
这是我的代码:
import java.util.Scanner;
public class TestScoreStatistics
{
public static void main(String[] args)
{
int numberOfScores = 0;
int highest = 0;
int lowest = 100;
double average;
Integer score = 0;
int sumOfScores = 0;
Scanner input = new Scanner(System.in);
System.out.println("Please enter a grade or enter 999 to finish >> ");
score = input.nextInt();
sumOfScores = sumOfScores + score;
while (score != 999 && score <= 100 && score >= 0)
{
System.out.println("Please enter a grade or enter 999 to finish >> ");
score = input.nextInt();
sumOfScores = sumOfScores + score;
++numberOfScores;
if(score > highest){
highest=score;}
else if(score<lowest){
lowest=score;}
}
while (score != 999 && score > 100 || score < 0)
{
System.out.println("You entered an invalid score. Please enter a valid test score.");
System.out.println("Please enter a grade or enter 999 to finish >> ");
score = input.nextInt();
sumOfScores = sumOfScores + score;
}
if (score == 999)
{
System.out.println("Number of Scores you entered: " + numberOfScores);
System.out.println("Highest Score: " + highest);
System.out.println("Lowest Score: " + lowest);
average = sumOfScores / numberOfScores;
System.out.println("Average Score: " + average);
}
}
}
【问题讨论】:
标签: java