需要先将Scanner内的输入清楚,不然就重复读取了。简单调用Scanner 的next()方法就可以了
测试已通过
package zhidao;
import java.util.Scanner;
public class Retry {
private int myInt;
private Scanner myScanner = new Scanner(System.in);
public int getInt() {
try {
System.out.println("请输入法整数");
this.myInt = this.myScanner.nextInt();
} catch (Exception e) {
System.out.println("输入错误,请输入正确的数值!!!");
this.myScanner.next();
this.getInt();
}
return this.myInt;
}
public static void main(String[] args) {
Retry retry = new Retry();
System.out.println(retry.getInt());
}
}