有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

检查用户是否输入整数或字符串

接受用户输入并检查用户输入的是字符串还是整数。。。需要 帮助如果用户输入字符串,请再次输入整数

while(menu!=5)
        {

        System.out.println("\nWelcome To Stavan Shah's Handy Calculator");
        System.out.println("\n 1. Addition");
        System.out.println("\n 2. Subtraction");
        System.out.println("\n 3. Multiplication");
        System.out.println("\n 4. Division");
        System.out.println("\n 5. Exit");
        Scanner sc = new Scanner(System.in);        
        System.out.println("\nWhat Would you Like To Do :- ");
        c = sc.nextInt();
        switch(c)

}
public static void pauseprog(){
            System.out.println("Press Enter Key To Continue...");
            Scanner sc = new Scanner(System.in);
            sc.nextLine();
}
}

共 (2) 个答案

  1. # 1 楼答案

    以下代码仅接受1-5之间的输入:

    import java.util.Scanner;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;    
    
    void checkInput() {
    
        Scanner s = new Scanner(System.in);
        Pattern p = Pattern.compile("^[1-5]$");  // only one digit between 1-5
        Matcher m;
        boolean match = false;
    
        while (!match){
            System.out.print("Enter a number between 1 and 5: ");
            m = p.matcher(s.next());
            if(m.find()){
                match = true;
                int input = m.group(0);
                // switch...
            }
        }
    }
    
  2. # 2 楼答案

    你可以用这样的东西

    try { 
        Integer.parseInt(userInput); 
    
    } catch(NumberFormatException e) { 
        return false; 
    }