比较String和object

时间:2015-09-20 19:38:10

标签: java

我有一个addUser()方法,可以为<FacebookUser>用户ArrayList添加新用户。

void addUser() {
    String username;
    String password;
    String passwordHint;

    System.out.println("Please type in your desired username:");
    username = input.nextLine();
    if (users.toString().contains(username)) {
        System.out.println("Username already exists!");
    } else {
        System.out.println("Please type in your desired password:");
        password = input.nextLine();
        System.out.println("Please type in your password hint:");
        passwordHint = input.nextLine();
        FacebookUser newUser = new FacebookUser(username, password);
        newUser.setPasswordHint(passwordHint);
        users.add(newUser);
    }

}

我现在正试图制作一个deleteUser()方法而且我被困在这一部分。我应该将给定的密码与与给定用户名相关联的Facebook用户密码进行比较。如果密码匹配,我应该从用户ArrayList中删除FacebookUser对象。

void deleteUser() {
    String username;
    String password;

    System.out.println("Please type in your username:");
    username = input.nextLine();
    if (users.toString().contains(username)) {
        System.out.println("Please type in your password:");
        password = input.nextLine();


    } else {
        System.out.println("Username doesn't exist!");
    }
}

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

我认为usersList

如果method正确无误,getters就可以了。

您只需找到username的正确索引,然后检查密码。

for (int i = 0 ; i < users.length() ; i++){
    if (users.get(i).getName().equals(username)){
        if (users.get(i).getPassword().equals(password)) System.out.println("Deleted");
        else System.out.println("Password incorrect !");
        break;
    }
}

编辑:在这里我打印出的动作非常清晰,但在实践中,最好的方法是存储索引并删除索引后删除索引

答案 1 :(得分:1)

  

我应该将给定的密码与Facebook用户的密码进行比较,该密码与给定的用户名相关联。

保持我的解决方案简单。您的第一步是从列表中获取目标用户对象。

User target = null;
for(User u : users)
    if(u.getUserName().equals(enteredUserName))  //Assuming all usernames are unique
        target = u;

接下来,检查给定的密码是否匹配。

if(target.getPassword().equals(enteredPassword)) //if password matches
    users.remove(target);    //delete user from list