2 回答

TA貢獻1828條經(jīng)驗 獲得超3個贊
class UserData {
private final String username;
private final String password;
UserData(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
class Registration {
private final List<UserData> userData = new ArrayList<>();
public void regUser() {
String regName = JOptionPane.showInputDialog(null, "Enter User Name:");
String regPass = JOptionPane.showInputDialog(null, "Enter User Password:");
userData.add(new UserData(regName, regPass));
}
public void login() {
String name = JOptionPane.showInputDialog(null, "Enter User Name:");
String password = JOptionPane.showInputDialog(null, "Enter User Password:");
boolean isValidUser = userData.stream()
.anyMatch(user -> user.getUsername().equals(name) && user.getPassword().equals(password));
if (isValidUser) {
JOptionPane.showMessageDialog(null, "Welcome to Rent A Car\n All cars data here....");
} else {
JOptionPane.showMessageDialog(null, "Wrong login info please try again");
}
}
}

TA貢獻1772條經(jīng)驗 獲得超6個贊
除了代碼質(zhì)量差之外,問題還在于:
您的名稱為“name1”,密碼為“pass1”
,您檢查它是否與每個注冊用戶相同。
您可能想使用 List 接口的 contains() 方法
,因此如果用戶名和密碼在列表中,則寫入成功消息,否則失敗。
添加回答
舉報