【发布时间】:2015-05-19 17:40:11
【问题描述】:
我有一个WHILEloop,用于检查特定学生的分数。但是,如果值无效(输入小于0且大于100)则不会循环:
int marks= -1;
System.out.print("Student Marks (/100): ");
while (((marks< 0) || (marks> 100))) {
try {
marks = Integer.parseInt(sc.nextLine());
break;
} catch (NumberFormatException nfe) {
System.err.println("Error: Invalid Mark(s)");
System.out.print("Student Marks (/100): ");
}
}
如果输入了数字以外的字符,它确实会捕获异常。
但如果 value 小于 0 或大于 100,则不会再次循环。
我尝试对其进行了许多更改,但没有结果。
感谢您提供的任何帮助!
【问题讨论】:
-
您的循环按原样仅在标记无效时循环。
-
因为您之前没有将标记解析为整数 - `while (((marks 100)))` - 这行我不确定您是否可以检查用 0 和 100。我不确定只是想知道。
标签: java exception netbeans while-loop conditional-statements