2017-10-28 91 views
0

编译器不执行catch部分没有输入值时:这个Java程序中的错误是什么?

import java.util.Scanner; 
import java.lang.*; 

public class Ruff { 

    public static void main(String[] args) 
    { 
     String a; 

     Scanner scanf=new Scanner(System.in); 

     System.out.println("Enter your name!!"); 
     a=scanf.nextLine(); 

     try 
     { 
      if(a.toLowerCase().equals("Harsh")) 
      { 
       System.out.print("Good Name"); 
      } 
      else 
      { 
       System.out.print("Ok!"); 
      } 
     } 
     catch(Exception e) 
     { 
      System.out.print("Name Required"); 
     } 
    } 
} 
+2

不回答你的问题,但我认为这应该是'a.toLowerCase()等于(“苛刻”)' – xanoetux

+2

请在问问题一定要。花费一些精力来解释清楚和正确地格式化它们。另外,你可能想用你使用的相关语言来标记你的问题(在你的情况下是java)。回到你的问题,你的try块中没有任何东西引发异常。 – user1620443

回答

0

在代码唯一可能的例外为aNullpointerException,但a是空字符串不是一个空指针如果用户输入没有价值。您应该检查该值,而不是使用异常:

if(a.equals("")) { 
    System.out.print("Name Required"); 
} 
else { 
    // code of try block here ... 
}