原来用的是这个,有问题:
if(reader.hasNext())
int i = reader.nextInt();
然后照下面这样改,就好了:
try{
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
i = Integer.parseInt(bufferedReader.readLine());
}catch(Exception ex){
System.out.println(ex.toString());
System.out.println("错误,请重输:");
}
这样,就算输入一个非整型(比如字母w),它会出现以下结果:
java.lang.NumberFormatException: For input string: "w" 错误,请重输:
这样,就不会出现原来用reader.nextInt();时不停报Exception的情况了。