java中的连续循环
这个简单的代码片段不起作用。我想输入10,然后跳出java中的连续循环,java,Java,这个简单的代码片段不起作用。我想输入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();
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;
双倍平均;
国际等级;
int计数器=0;
扫描仪输入=新扫描仪(System.in);
while(计数器<10){
grade=input.nextInt();
总数+=年级;
计数器++;
}
平均数=总数/10;
showMessageDialog(null,平均值);
当用户输入10时,它不允许您跳出循环的原因是,当您退出循环时,您有一个完全独立的变量控制。计数器
变量每次迭代递增一次,用于控制退出循环的时间。因此,您将始终在10次迭代后退出循环。要解决此问题,以便在用户输入10时退出循环,请使退出条件取决于等级
,而不是计数器
,如下所示:
while(grade != 10){
grade = input.nextInt();
if(grade != 10)
total += grade;
}
附带说明:在接受用户输入时,您应该告诉用户您期望的内容,这样他们就不会输入您不期望的内容,并且能够按照您的说明操作。此代码没有问题。如果看不到JOptionPane,请尝试最小化所有窗口,因为它可能出现在它们后面
此外,在这种情况下,可能最好使用for循环,而不是while循环。对我来说很好。该循环很好,可以运行整整10次。你的问题一定在别的地方。@sina,问题/解决方案是什么?我想你误解了这个问题。OP说循环在10次迭代后会无限继续,而不是停止。我想了想,但从他在问题中使用的词(“我想键入10并打破while循环”)判断,我想他希望它会立即爆发,并对它为什么不爆发感到困惑。关键词是type,如中所示,他希望用户键入10并中断while循环。@adeen-s完全正确。没有stop@sina我很确定我解决了,看一看。但是,如果我对你想要的东西有误解,你应该编辑这个问题,让读者更清楚。