4 回答
TA贡献1862条经验 获得超7个赞
当扫描器抛出InputMisameException时,扫描器将不会传递导致异常的令牌,从而可以通过其他方法检索或跳过该令牌。
intInputMismatchExceptionreader.nextInt()reader.next()catch
...} catch (InputMismatchException e) {
System.out.println("Invalid value!");
reader.next(); // this consumes the invalid token}TA贡献1845条经验 获得超8个赞
String line = reader.nextLine();Scanner sc = new Scanner(line);
public int readInt(String msg) {
int num = 0;
boolean loop = true;
while (loop) {
try {
System.out.println(msg);
String line = reader.nextLine();
Scanner sc = new Scanner(line);
num = sc.nextInt();
loop = false;
} catch (InputMismatchException e) {
System.out.println("Invalid value!");
}
}
return num;
}TA贡献1772条经验 获得超8个赞
读取器获得非int字符时退出 EOF时退出
添加回答
举报
