静态方法仅识别一个对象,而不识别其他对象

我一直在研究这个程序,最近使用静态方法遇到了一个错误。我通常不使用静态方法,但它们在需求中。


所以我有一个静态方法 验证用户名和PassWord 它接受用户列表以及用户名和密码的输入,并将其与存储在对象中的用户名进行比较,以查看详细信息是否正确。


不幸的是,使用这种方法,它只能识别“User1”(第一个对象),每当我尝试输入user2的用户名和密码时,它总是抛出我放入的非法参数错误。


用户2当然存储在数组列表中。


这是我的主要方法:


Scanner scanner = new Scanner(System.in);

        System.out.println("Enter your user name");

        String userName = scanner.nextLine();


        System.out.println("Enter your password name");

        String passWord = scanner.nextLine();



        if(User.verifyLoginByUsernameAndPassword(userList, userName, passWord)== true)


        {

          do something..

        }

这是静态方法:


public static boolean verifyLoginByUsernameAndPassword(ArrayList<User> user, String username, String password)

{

    boolean check = false;

    for(User s: user)

    {

        if(username.equals(s.getUserName()) && password.equals(s.getPassWord()))

        {

            check = true;

            break;

        }

        else

        {

            check = false;

            throw new IllegalArgumentException("Username and password are incorrect ");


        }

    }

    return check;


}


交互式爱情
浏览 46回答 1
1回答

精慕HU

更改方法实现。检查整个列表,如果用户名和密码不匹配,则引发异常。public static boolean verifyLoginByUsernameAndPassword(ArrayList<User> user, String username, String password) {&nbsp; &nbsp; for(User s: user) {&nbsp; &nbsp; &nbsp; &nbsp; if(username.equals(s.getUserName()) && password.equals(s.getPassWord())) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return true;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; throw new IllegalArgumentException("Username and password are incorrect ");}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java