s = new Scanner(System.in);
程序描述:从控制台读取一个Int类型的整数,并输出。如果,输入格式不对则捕获异常,并重新要求输出,直到输入正确。
package java_learning;
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while (true) {
try {
System.out.println("请输入a:");
int a = s.nextInt();
System.out.println("a:"+a);
return;
} catch (InputMismatchException e) {
System.out.println("重新输入!");
//s = new Scanner(System.in);
continue;
}
}
}
}
问题运行结果,死循环。。。
解决:对s进行重新实例化。
即加上程序的注释行:
s = new Scanner(System.in);