user input check int only

后端 未结 4 481
抹茶落季
抹茶落季 2021-01-21 11:34

I am trying to have my user input not crash my program by restricting what the user can input such as:

  1. only being an int
  2. being between 1-30
<
4条回答
  •  不知归路
    2021-01-21 12:17

        String choose = "";
        System.out.println("Test if input is an integer. Type 'quit' to exit.");
        System.out.print("Type an integer: ");
        Scanner sc=new Scanner(System.in);
    
        choose = sc.nextLine();
    
        while (!(choose.equalsIgnoreCase("quit"))) {
            int d = 0;
            try {
                d = Integer.parseInt(choose);
    
                if (!(d > 0 && d < 31)) {
                    System.out.println("Being between 1-30");
                } else {
                    System.out.println("Input is an integer.");
                }
            } catch (NumberFormatException nfe) {
                System.out.println("Enter only int");
            }
    
            System.out.print("Type an integer to test again or 'quit' to exit: ");
            sc = new Scanner(System.in);
            choose = sc.nextLine();
        }
    
        sc.close();
        System.out.print("Program ends.");
    

提交回复
热议问题