Java-设定值范围

时间:2019-06-18 00:44:14

标签: java

我正在使用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); 

1 个答案:

答案 0 :(得分:1)

要接受用户输入,要求其输入范围为1..999,您将需要以下内容:

do {
    num = // get the input
} while (num < 1 || num > 999);

如果数字为1000或更大,则将完全跳过第二个循环-对于任何此类值,总和将为初始0。也许根本不需要第二个条件-它适用于任何大小的数字:

while (num > 0) {
    sum += num % 10;
    num /= 10;
}