Java 如何通过检查name的输入是字符串,partId的输入是长字符串来验证输入?

Java 如何通过检查name的输入是字符串,partId的输入是长字符串来验证输入?,java,Java,我建议您使用正则表达式,例如,将输入读取为字符串,然后验证字符串是否可解析,然后解析 我不知道您对名称的要求是什么,但我知道long必须至少匹配以下正则表达式^\d+$ 以下是验证输入的方法: static Product createProduct() { Scanner sc = new Scanner(System.in); System.out.println("\nEnter new product "); System.out.pri

我建议您使用正则表达式,例如,将输入读取为字符串,然后验证字符串是否可解析,然后解析

我不知道您对名称的要求是什么,但我知道long必须至少匹配以下正则表达式
^\d+$

以下是验证输入的方法:

static Product createProduct() {
        Scanner sc = new Scanner(System.in);

        System.out.println("\nEnter new product ");

       System.out.print("  Name: ");
        String n =sc.nextLine();
        while(n==sc.nextLine()){

            if(n !=sc.nextLine()){ 
             System.out.println("ERROR! Please Try again!");
            }
             sc.nextLine();
            }

欢迎来到堆栈溢出!我建议您阅读关于如何编写好问题以获得好答案的指南。除了parseLong仍然可能失败,即使它通过了正则表达式,因此我们可以避免正则表达式并捕获异常,因为我们无论如何都必须这样做。
if (Pattern.compile("^\\d+$").matcher(idStr).find()) {
    long id = Long.parseLong(idStr);
}