我对这整个编程工作都很陌生,我正试图解决为什么循环突然结束并且不会继续到最后的if语句。你能帮我弄清楚什么是错的吗?
import java.util.Scanner;
public class FunnyAverage {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("How many values to read? ");
int top = in.nextInt();
System.out.print("Enter Value: ");
int one = in.nextInt();
int number = 1;
int sum = 0;
sum = sum + one;
while (number <= top) {
if (one % 6 != 0 && one % 17 != 0) {
System.out.print("Enter Value: ");
one = in.nextInt();
number++;
} else if (one % 6 == 0 && one % 17 == 0) {
System.out.print("Enter Value: ");
one = in.nextInt();
number++;
}
}
if (sum / top != 0) {
System.out.print("Average: " + sum / top);
}
System.out.print("None Divisible");
}
}
答案 0 :(得分:0)
看起来你最终处于不存在else
的情况下(在while
循环内)。因此,number
不会增加,而您会陷入while
循环。
尝试在one
循环中阅读while
。这样,系统将提示用户在每个循环中输入一个新数字。
否则,一旦用户输入的数字与您的支票不符,您将被卡在while
循环中。
答案 1 :(得分:0)
如果给出正确的输入值,则执行最终的if()条件。我运行了你的代码并给出了以下输入来执行最后的if()语句。
How many values to read? 1
Enter Value: 1
Enter Value: 1
Average: 1None Divisible
我不明白你在代码中尝试了什么,但是有很多东西缺失,比如我假设你想要捕获输入数字的总和,但是在while循环中没有使用sum。