【发布时间】:2016-09-17 07:36:26
【问题描述】:
尝试在 do while 循环中执行 try-catch 语句时遇到问题。我要求用户先输入字母,然后输入数字,如果他正确输入数字,程序结束。如果他输入字母而不是数字程序应该说“发生错误,请输入数字”并要求用户再次输入数字,但每次我输入字母而不是数字时,程序都会进入无限循环并且不允许我输入新值。 就这样 “发生错误,您必须输入数字” “请输入号码”。
public class OmaBrisem {
public static void main(String[] args) {
Scanner tastatura = new Scanner(System.in);
boolean b = true;
int a = 0;
String r = "";
System.out.println("Please enter a letter");
r = tastatura.next();
do {
try {
System.out.println("Please enter numerical value");
a = tastatura.nextInt();
b = true;
} catch (Exception e) {
System.out.println("An error occured you must enter number");
b = false;
}
} while (!b);
}
}
【问题讨论】:
标签: java try-catch do-while infinite