刚刚做题一直卡在如果输入错误,再重新输入会产生错误的返回值 之前的代码片段
String text = input.nextLine(); int num = -1; try{ num = Integer.parseInt(text); return num; }catch (NumberFormatException e){ menu(); return num; } ============================= 修改后的 public static int menu(){ System.out.println("请根据提示,输入数字"); System.out.println("1.快递员"); System.out.println("2.用户"); System.out.println("0.退出"); Scanner input = new Scanner(System.in); String text = input.nextLine();//这一步是接收外界传入的一行字符,不管输入什么都可以进行接受 int num = -1;//初始化num try{ num = Integer.parseInt(text);//将外界接收的字符转换为int类型 }catch (NumberFormatException e){//对转换的数字进行判断如果是数字则跳过,如果不是则执行 return menu();//这一步就是关键,如果这一步不是return 方法,而是象上面那样就会导致出错 } return num; }