Aft*_*360 0 java if-statement java.util.scanner
我在条件中有一个带有扫描器的if/else语句,以及检查输入为100或更少的&&语句.它是这样的:
Scanner input = new Scanner(System.in);
if(input.hasNextInt() && avgBefore <= 100) {
avgBefore = input.nextInt();
}
Run Code Online (Sandbox Code Playgroud)
但如果我把一个数字超过100,它仍然接受它.有帮助吗?
您在为其分配新值之前检查该值.您需要分配值nextInt(),然后检查它是否在范围内.例如:
if (input.hasNextInt()) {
int candidate = input.nextInt();
if (candidate <= 100) {
avgBefore = candidate;
} else {
// Whatever you want to do on invalid input
}
}
Run Code Online (Sandbox Code Playgroud)
这是假设你想避免分配无效值avgBefore.如果这不是问题,您可以使用:
if (input.hasNextInt()) {
avgBefore = input.nextInt();
if (avgBefore > 100) {
// Whatever you want to do on invalid input
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |