使用try catch验证输入

时间:2016-08-07 08:58:49

标签: java if-statement try-catch

如果用户没有输入指定的单词,即admin

,我试图通过创建异常错误来验证java中的输入文本字段
Query q = em.createQuery("SELECT P FROM Person P WHERE P.id = 1");
Person person = q.getSingleResult();
Set<Car> cars = person.getCars();
ArrayList<Car> unsoldCars = new ArrayList<Car>();
cars.foreach(car -> { 
 if(car.isSold == false) {
    unsoldCars.add(car);
  } 
 });

手机之一完美无缺

如何使用用户名。我该怎么办?

2 个答案:

答案 0 :(得分:2)

您应该使用:

 if(!username.equals("admin")){
 //your code
 }

要比较字符串,您必须使用equals()方法。

正如simon所建议的那样,建议使用:

if(!"admin".equals(username)){
 // your code 
}

以这种方式它将是无效的。

答案 1 :(得分:2)

正如@simonv在评论中提到的,不要使用异常来控制程序流程。但是如果你正在学习try-catch,那么你可以试试这个。还要改进if声明。您正在比较字符串对象。因此,使用equals()方法如下:

        try
        {
        username = namefield.getText();
           if (!"admin".equals(username)) {
                throw new Exception("YOUR_MESSAGE_HERE");
            }           
        }
        catch (Exception exe)
        {   
            System.out.println(exe);
            return;
        }