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次登录.
这是为什么在这种情况下需要对象编程的一个很好的例子.
你应该创建一个包含三个字段的类,即
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实例.然后,您可以轻松地遍历此列表以查找任何匹配的凭据.