Java 如果用户输入的仅是数字或字母,如何使用nextLine()进行检查?

Java 如果用户输入的仅是数字或字母,如何使用nextLine()进行检查?,java,java.util.scanner,Java,Java.util.scanner,我对我的计划有个问题。我想弄清楚,我如何检查用户的s.nextLine()输入表单中是否只包含ints表单1到49,或者是否包含字母。 我知道“eingabe”是一个字符串,所以我不能只使用if,对吗 我的问题是,我在java编程方面相对较新,不知道如何解决/ 也许你能帮我,那太好了 public static int Scanner() { Scanner s = new Scanner(System.in); String eingabe = s.ne

我对我的计划有个问题。我想弄清楚,我如何检查用户的s.nextLine()输入表单中是否只包含ints表单1到49,或者是否包含字母。 我知道“eingabe”是一个字符串,所以我不能只使用if,对吗

我的问题是,我在java编程方面相对较新,不知道如何解决/ 也许你能帮我,那太好了

    public static int Scanner() {
        Scanner s = new Scanner(System.in);
        String eingabe = s.nextLine();

        //???

        return eingabe;
    }
import java.util.Scanner;
导入java.util.regex.Pattern;
导入java.util.regex.Matcher;
类MyClass{
公共静态void main(字符串[]args){
试一试{
int x=扫描器();

如果(x>=1&&x=1&&x(欢迎使用SO!)(
Scanner.nextLine()
返回一个没有后续关系的
String
。您可以使用任何“String函数”,但请查看一下。)您应该解释您所做的事情,而不仅仅是发布代码。首先:Ty这正是我正在搜索的内容,但您能否解释一下这是什么“try”和“catch”是什么意思?我不知道这个命令。@csm\u dev.现在我已经编辑了我的答案。请参考它。我想我理解了那里的代码:)@IceCube。如果答案解决了你的问题,请接受并投票
import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
class MyClass {
    public static void main (String[] args) {
       try {
                int x = Scanner();
                if(x >= 1 && x <= 49) {
                    System.out.println("Yes");
                }
                else {
                    System.out.println("No");
                }
        }
        catch(java.lang.NumberFormatException e) {
            System.out.println(e);
        }
        //Second Method Using Regex.
        try {
            int x = useRegex();
                if(x >= 1 && x <= 49) {
                    System.out.println("Yes");
                }
                else {
                    System.out.println("No");
                }
        } catch(java.lang.NumberFormatException e) {

            System.out.println(e);
        }
    }
    public static int Scanner() {
        Scanner s = new Scanner(System.in);
        String eingabe = s.nextLine();
        return Integer.parseInt(eingabe);
    }

    public static int useRegex() {
        Scanner s2 = new Scanner(System.in);
        String eingabe = s2.nextLine();
        Pattern p = Pattern.compile("^[\\+-]?\\d+$");
        Matcher m = p.matcher(eingabe);
        boolean b = m.matches();
        if(b) {
            return Integer.parseInt(eingabe);
        }

        else {
            throw new java.lang.NumberFormatException();
        }
    }

}