我正在創建一個登錄系統,並希望爲我的代碼添加三個硬編碼登錄詳細信息。我目前有一個需要用戶名,密碼和學號才能登錄。當系統提示您在控制檯中輸入代碼時,條目必須與硬編碼的詳細信息匹配才能獲得身份驗證。我想再添加三個登錄信息,所以總共有四個。這是我目前的登錄系統。使用|| (或)或其他運營商?
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!");
}
}
}
我目前只有一組登錄信息,但是想添加更多信息。這裏是我的意思的一個例子;
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...
此問題的主要部分涉及將其他可能的登錄詳細信息添加到登錄系統。我需要使用||
來允許其他可能的條目嗎?其他細節將在此處添加;
if (UserID.equals(EnteredUserID) && (Password.equals(EnteredPassword))
&& (StudentNumber == EnteredStudentNumber)) {
要這樣的事情可能嗎?
if (UserID.equals(EnteredUserID) && (Password.equals(EnteredPassword))
&& (StudentNumber == EnteredStudentNumber)) {
|| (UserID2.equals(EnteredUserID2) && (Password2.equals(EnteredPassword2))
&& (StudentNumber2 == EnteredStudentNumber2))
只需登錄一組可能的4登錄。
嘗試閱讀Java中的命名約定。很難閱讀你的代碼。 –
您發佈的最後一個示例將起作用,只不過您忘記移動'{'。然而,做出一個有很多類似測試的「if」陳述並不是正確的編程方式。你一定要創建一些數據結構來保存允許的名稱/密碼/學號的列表。 cheseaux的回答是一個好的開始。 – ajb
另外,也許這是顯而易見的,但在現實生活中,您不能將密碼硬編碼到程序中,因爲有人可以通過查看二進制文件來找到密碼。 – ajb