问题来源于一次面试,记得当时程序要求是要实现N阶九宫图。我们都知道这其中N,只能是大于等于3的奇数。这就要求程序有判断输入的功能,我一开始给出的程序是若判断为非法输入,程序就退出,后来面试官要求,输入错误输入后继续等待输入知道输入正确的数值。想了下,采用了函数回调的方法,代码如下,仅供参考。
public static int input(){
System.out.println("please input an odd number and bigger than 1");
Scanner n = new Scanner(System.in);
int number = n.nextInt();
if(number%2==0||number<3){
System.out.println("wrong input number,please input again");
return input();
}
n.close();
return number;
}