【发布时间】:2021-02-01 02:53:12
【问题描述】:
在我的 java 程序中,我问的是玩家的年龄,如果用户在提出问题时写了一个字符串,我需要显示错误 checkError(4) 并再次询问哪个是正确的年龄播放器,直到用户写一个数字。
这里的问题是,当年龄是一个字符串时,代码会进入一个循环,然后总是打印字符串“玩家的年龄?”。我在一些网站上看到,如果在 while 语句中使用 in.hasNextInt() 可以解决问题,但在这种情况下,如果“检查”为真,我正在运行 while
我该如何解决这个问题?谢谢
check = true;
while (check){
try {
System.out.println("Age of the player?");
if(in.hasNextInt()){
edad = in.nextInt();
if (edad > 6 && edad < 100){
check = false;
} else {
System.out.println(checkError(3));
}
} else { }
} catch(Exception e) { // Edad is a string
System.out.println(checkError(4));
}
}
【问题讨论】:
标签: java debugging while-loop try-catch