【发布时间】:2014-03-28 16:06:10
【问题描述】:
我正在创建一个登录系统,并希望在我的代码中再添加三个硬编码的登录详细信息。我目前有一个需要用户名、密码和学号才能登录的系统。当提示在控制台中输入代码时,条目必须与硬编码的详细信息匹配才能获得身份验证。我想再添加三个登录详细信息,所以总共会有四个。这是我目前的登录系统;
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))
只需 1 组可能的 4 次登录即可登录。
【问题讨论】:
-
尝试阅读 Java 中的命名约定。很难阅读您的代码。
-
您发布的最后一个示例将有效,只是您忘记移动
{。然而,用大量类似的测试制作一个大的if语句并不是正确的编程方式。您肯定想创建某种数据结构来保存允许的姓名/密码/学生编号列表。 cheseaux 的回答是一个好的开始。 -
另外,这可能很明显,但在现实生活中,您不能将密码硬编码到程序中,因为有人可以通过查看二进制文件找到密码。
标签: java loops if-statement login