我正在使用Java 1.8脚本,其中试图设置用户输入数字范围,其中用户只能输入0到1000之间的数字。我试图使用以下代码设置范围。仍然允许我(用户)输入大于1000的数字。
} while (0 < digit && digit < 1000);
我尝试在此处搜索类似的问题,但是我发现很多答案基本上都建议您按照下面的方式进行操作,这似乎对其他用户有效,因此我不明白为什么它对我不起作用。
上面的代码没有引发任何错误,所以我对为什么它仍然允许我输入大于1000的数字感到困惑。我是Java新手,所以可能出现一些逻辑错误...
这是我下面的完整代码。该脚本的目的是输入0到1000之间的数字,并让系统计算其数字的总和。它已成功计算了总和,但是当我输入一个大于1000的数字时,总和为零...
System.out.println("Enter a number between 0 and 1000.");
int num = 4567;
int sum = 0;
while (num > 0 && num <1000) {
sum = sum + num % 10;
num = num / 10;
}
System.out.println("The sum of the digits is " + sum);
答案 0 :(得分:1)
要接受用户输入,要求其输入范围为1..999,您将需要以下内容:
do {
num = // get the input
} while (num < 1 || num > 999);
如果数字为1000或更大,则将完全跳过第二个循环-对于任何此类值,总和将为初始0。也许根本不需要第二个条件-它适用于任何大小的数字:
while (num > 0) {
sum += num % 10;
num /= 10;
}