【发布时间】:2014-03-19 17:52:08
【问题描述】:
下面的程序只是从控制台读取整数并将其打印回来。当输入非整数(如 char 或 String)时,Scanner 会抛出异常。我试图处理“try-catch”块中的异常并继续读取下一个输入。在来自控制台的第一个非整数输入之后,程序运行到无限循环。有人可以帮忙吗?
public class ScannerTest {
static int i=1;
static Scanner sc;
public static void main (String args[]){
sc = new Scanner(System.in);
while (i!=0){
System.out.println("Enter something");
go();
}
}
private static void go(){
try{
i = sc.nextInt();
System.out.println(i);
}catch (Exception e){
System.out.println("Wrong input, try again");
}
}
}
【问题讨论】:
-
除其他问题外,您还需要在函数中接受用户输入。
-
是的,很抱歉。