如果其中一个输入不正确,java运行循环会延长一段时间
我有一个for循环,要求分数在0到10之间。它要求一定的数额取决于法官的人数
代码如下:
System.out.println("Number of judges: ");
int numOfJudges = IO.readInt();
int sum = 0;
for (int i=0; i<numOfJudges; i++) {
System.out.print("Enter judge's score: ");
int score = IO.readInt();
if (score >= 0 && score <= 10) {
sum += score;
} else {
System.out.println("Incorrect number, must be between 0 and 10.");
}
}
System.out.println(sum);
我想说明的是,如果输入的数字不在0和10之间,它不会将其作为i < numOfJudges
的条件之一计算。
例如,如果我有3个判断,我输入了2个错误的输入,它仍然只会运行循环3次(并且只考虑好的输入),而我真的希望它运行5次以弥补两个错误的输入
# 1 楼答案
在ELSE条件下增加
numOfJudges
,这样FOR循环将运行,直到获得所需数量的正确输入这是最短最干净的解决方案
# 2 楼答案
可以在for循环中使用while循环,而不是调整for循环: