4 回答

TA贡献1862条经验 获得超7个赞
当扫描器抛出InputMisameException时,扫描器将不会传递导致异常的令牌,从而可以通过其他方法检索或跳过该令牌。
int
InputMismatchException
reader.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时退出
添加回答
举报