2011-07-24 23 views
0
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(); 
      } 
+2

欢迎堆栈溢出!我建议你阅读http://tinyurl.com/sohints,了解如何编写好问题以获得良好答案。 –

回答

1

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

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

这里是你如何可以验证您的输入:

if (Pattern.compile("^\\d+$").matcher(idStr).find()) { 
    long id = Long.parseLong(idStr); 
} 
+0

除了parseLong仍然可能失败,即使它传递正则表达式,所以我们可以避免正则表达式并捕获异常,因为无论如何我们必须这样做。 – Voo