这个简单的代码段并不起作用。我想输入10个输入并跳出while
循环并计算平均值,但它不会跳出while
循环。
以下是我的代码:
double total = 0;
double average;
int grade;
int counter = 0;
Scanner input = new Scanner(System.in);
while(counter < 10) {
grade = input.nextInt();
total += grade;
counter++;
}
average = total / 10;
JOptionPane.showMessageDialog(null, average);
答案 0 :(得分:0)
当用户输入10时,它不会让你跳出循环的原因是因为你在退出循环时有一个完全独立的变量控制。 counter
变量(每次迭代递增一次)控制退出循环的时间。因此,您将在10次迭代后始终退出循环。要解决此问题,以便在用户输入10时退出循环,请使退出条件取决于grade
,而不是counter
,如下所示:
while(grade != 10){
grade = input.nextInt();
if(grade != 10)
total += grade;
}
只是旁注:接受用户输入时,您应该告诉用户您的期望,因此他们不会输入您不期望的内容,并且能够按照您的指示操作。
答案 1 :(得分:0)
此代码没有问题。如果您看不到JOptionPane,请尝试最小化所有窗口,因为它可能出现在它们后面。
此外,在这种情况下使用for循环可能更好,而不是使用while循环。