gpt4 book ai didi

java - 我的登录函数中数组列表第二个第三位的值匹配时出错?

转载 作者:太空宇宙 更新时间:2023-11-04 09:18:54 24 4
gpt4 key购买 nike

我有一个家庭作业,其中我必须使用 joptionpane 登录注册表并仅使用 arrayList 获取输入,这是一项基本任务,但我被困在这里,“我创建了一个函数来匹配数组列表中的值,但它显示错误的输出”。

我尝试使用不同的循环并对输入值使用不同的位置,但没有得到所需的结果。

public class register {
ArrayList regUser;

register()
{
this.regUser=new ArrayList();
}

public void regUser(){
String regName = JOptionPane.showInputDialog(null, "Enter User Name:");
String regPass = JOptionPane.showInputDialog(null, "Enter User Password:");

userData p = new userData(regName,regPass);

regUser.add(p);
}
public void login()
{
String name = JOptionPane.showInputDialog(null, "Enter User Name:");
String password = JOptionPane.showInputDialog(null, "Enter User Password:");

for(int i=0; i<regUser.size(); i++)
{
userData k = (userData)regUser.get(i);
if(name.equals(k.name) && password.equals(k.password)){
JOptionPane.showMessageDialog(null, "Welcome to Rent A Car\n All cars data here....");

}
JOptionPane.showMessageDialog(null, "Wrong login info please try again");

}

我接受我的登录方法检查 arraylist 中每个完整的登录用户的输入值,如果没有完整的匹配,则仅显示错误。但是我的程序对于第一个数组列表值工作正常,但对于下一个值不起作用。

最佳答案

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");
}
}
}

关于java - 我的登录函数中数组列表第二个第三位的值匹配时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58589892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com