Java-设置值范围

Java-设置值范围,java,Java,我正在编写一个Java1.8脚本,在这个脚本中,我试图设置一个用户输入的数字范围,在这个范围内,用户只能输入0到1000之间的数字。我试图使用下面的代码设置范围,但它仍然允许我(用户)输入大于1000的数字 } while (0 < digit && digit < 1000); }而(0

我正在编写一个Java1.8脚本,在这个脚本中,我试图设置一个用户输入的数字范围,在这个范围内,用户只能输入0到1000之间的数字。我试图使用下面的代码设置范围,但它仍然允许我(用户)输入大于1000的数字

} while (0 < digit && digit < 1000);
}而(0
我试着在这里搜索类似的问题,但我发现很多答案基本上都建议我做下面的事情,这似乎对其他用户有效,所以我不明白为什么它对我不起作用

上面的代码没有抛出任何错误,所以我很困惑为什么它仍然允许我输入大于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); 
System.out.println(“输入一个介于0和1000之间的数字”);
int num=4567;
整数和=0;

当(num>0&&num接受用户输入时,要求输入值在1..999范围内,您需要如下内容:

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

哎呀,当我的咖啡用完时就会发生这种情况。我想如果数据超出范围,而不是在范围内,你会希望重复数据捕获。最好在你的问题中发布a/以便我们可以看到更多相关的代码。看起来你的条件对于你想要的输出是正确的,所以问题一定在你的其他地方你的代码。这将有助于查看所有相关的代码。你是否希望
}而(0digit);
当你重复同一行代码三次时,很难说出你期望的是什么。MCVE会很有帮助。循环甚至没有输入已发布的代码。
while (num > 0) {
    sum += num % 10;
    num /= 10;
}