使用|| (或)或其他运营商?

1 java loops if-statement login

我正在创建一个登录系统,并希望在我的代码中添加三个硬编码的登录详细信息.我目前有一个需要用户名,密码和学号才能登录.当提示在控制台中输入代码时,条目必须与硬编码的详细信息匹配才能获得身份验证.我想再添加三个登录详细信息,总共会有四个.这是我目前的登录系统;

    final String UserID = "TomDeponeo"; 
    final String Password = "LJMU";
    final int StudentNumber = 22334455;


    String EnteredUserID; 
    String EnteredPassword;
    int EnteredStudentNumber;
    for (int s = 0; s <= 3; s++) { 
        if (s < 3) { 
            System.out.println("Enter your UserID to access lift;"); 
            EnteredUserID = console.nextLine();
            System.out.println("Your UserID is >>> " + EnteredUserID);
            System.out.println("Enter your password to authenticate login;");
            EnteredPassword = console.nextLine();
            System.out.println("Password Entered is >>> " + EnteredPassword);
            System.out.println("Enter your student number to finalise login and authentication;");
            EnteredStudentNumber = console.nextInt();
            System.out.println("Student Number Entered is >>> " + EnteredStudentNumber);
            if (UserID.equals(EnteredUserID) && (Password.equals(EnteredPassword)) 
                    && (StudentNumber == EnteredStudentNumber)) {
                System.out.println("Athentication complete!");
                System.out.println("***Elevator access granted!***");
                System.out.println("Welcome..."); 
                Elevator a = new Elevator(); 
                Elevator.selectFloor();
                break;

            } else {
                System.out.println("Wrong UserID, Password or Student Number. Please try again."); 
            }
        } else {
            System.out.println("3 incorrect enteries detected. Access Denied!"); 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我目前只有一组登录详细信息,但想添加更多.这是我的意思的一个例子;

final String UserID = "TomDeponeo"; 
final String Password = "LJMU";
final int StudentNumber = 22334455;

final String UserID2 ="Secondname";
final String Password2 = "Secondpassword";
final String StudentNumber2 = "123456";

//etc...

String EnteredUserID2; 
String EnteredPassword2;
int EnteredStudentNumber2;

//etc...
Run Code Online (Sandbox Code Playgroud)

此问题的主要部分涉及将其他可能的登录详细信息添加到登录系统.我是否需要使用||以允许其他可能的条目?其他细节将在此处添加;

if (UserID.equals(EnteredUserID) && (Password.equals(EnteredPassword)) 
                    && (StudentNumber == EnteredStudentNumber)) {
Run Code Online (Sandbox Code Playgroud)

可能这样的事情?

if (UserID.equals(EnteredUserID) && (Password.equals(EnteredPassword)) 
      && (StudentNumber == EnteredStudentNumber)) {
      || (UserID2.equals(EnteredUserID2) && (Password2.equals(EnteredPassword2)) 
      && (StudentNumber2 == EnteredStudentNumber2))
Run Code Online (Sandbox Code Playgroud)

登录只需要1组可能的4次登录.

che*_*aux 5

这是为什么在这种情况下需要对象编程的一个很好的例子.

你应该创建一个包含三个字段的类,即

class User {

    String userID; 
    String password;
    int studentNumber;

    public User(String userID, String pass, int number) {
        this.userID = userID;
        this.password = pass;
        this.studentNumber = number;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,你可以有一个ArrayList<User>User实例.然后,您可以轻松地遍历此列表以查找任何匹配的凭据.