Я пытаюсь проверить, совпадает ли пароль, введенный пользователем в методе addUser (), с паролем, введенным пользователем в методе deleteUser ().Оба метода просматривают пользовательский массив, который заполнен объектами FacebookUser. Однако я не могу понять, как сопоставить соответствующие пароли для каждого метода.
Я пробовал несколько кодов, которые едва помню, иногда я 'я всегда получаю «неправильный пароль», возвращаемый, даже когда он верен. Но если бы в моем массиве был только один объект, он работал, пока я не добавил другого пользователя.Это приведет к тому, что оба пользователя получат один и тот же пароль.
public class Facebook extends FacebookUser implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
Scanner input = new Scanner(System.in);
private ArrayList<FacebookUser> users;
public Facebook(String username, String password) {
super(username, password);
users = new ArrayList<>();
}
// prints users
public void listUsers() {
if( users.isEmpty())
{
System.out.println("List is empty");
}
else
{
for (FacebookUser users : this.users)
{
System.out.println("Username: " + users.getUsername());
}
}
}
// adds a user
public void addUser() {
//creating an instance of FacebookUser class
FacebookUser user1 = new FacebookUser();
System.out.println("Enter username to add: ");
String newUser = input.nextLine();
user1.setUsername(newUser);
// using the setter method in UserAccount to set the username for "fb" object
//if statement checks if any object contains the same username
if (users.contains(user1)) {
System.out.println("Error, username already exists");
}
else {
System.out.println("Please enter password: ");
String password = input.nextLine();
System.out.println("Please enter password hint: ");
String passwordHint = input.nextLine();
FacebookUser user2 = new FacebookUser();
//creating another object for the "official" new user
user2.setPassword(password);
user2.setUsername(newUser);
user2.setPasswordHint(passwordHint);
users.add(user2);
System.out.println(newUser + " has been added");
}
}
// deletes a user
public void deleteUser() {
FacebookUser user1= new FacebookUser();
System.out.println("Enter username you want to remove: ");
String removeUser = input.nextLine();
user1.setUsername(removeUser);
if (users.contains(user1)) {
System.out.println("Enter password");
String checkPassword = input.nextLine();
user1.setPassword(checkPassword);
if (user1.password.equals(checkPassword)) {
users.remove(user1);
System.out.println(removeUser + " has been removed");
} else {
System.out.println("Incorrect password");
}
} else {
System.out.println("User does not exist");
}
}