【发布时间】:2011-04-04 02:00:24
【问题描述】:
所以,我被这段代码卡住了:
import java.util.InputMismatchException;
import java.util.Scanner;
public class ConsoleReader {
Scanner reader;
public ConsoleReader() {
reader = new Scanner(System.in);
//reader.useDelimiter(System.getProperty("line.separator"));
}
public int readInt(String msg) {
int num = 0;
boolean loop = true;
while (loop) {
try {
System.out.println(msg);
num = reader.nextInt();
loop = false;
} catch (InputMismatchException e) {
System.out.println("Invalid value!");
}
}
return num;
}
}
这是我的输出:
插入一个整数:
值无效!
插入一个整数:
值无效!
...
【问题讨论】:
-
请考虑去掉变量 loop 和 num 而是使用
while (true) { try { ....; return reader.nextInt(); } catch {....} }
标签: java java.util.scanner infinite-loop