私のログイン機能の配列リストの第二第三位で一致する値でのエラー?

アブリル:

私はのJOptionPaneを使用して、唯一のArrayListを使用して入力、基本的なタスクを取って、レジスタ形式のログを確認する必要がありますする家の割り当てを持っていますが、私はここにこだわって、「私は配列リストの値と一致させる機能をしたが、それが」間違った出力を表示します。

私は、入力値に対して異なるループを使用し、異なる配置を使用して試してみましたが、私は望ましい結果を得るdidntの。

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値の罰金が、doesntの仕事を動作します。

カール・ロバート:
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");
    }
  }
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=362394&siteId=1