【发布时间】:2017-11-21 15:23:41
【问题描述】:
我目前遇到一个问题。我正在为收银员编写代码,但我无法解决密码和用户请求的问题,在收银员关闭之前最多应该有 4 次尝试。如果有人能帮我解决这个问题,我将不胜感激。
public static void login(){
int TIMESC = 0;
int TIMESP = 0;
String PROMT;
Scanner keyboard = new Scanner(System.in); //Keyboard input initializer
PROMT = ">"; //promt sring definition
System.out.println("Welcome to LJD Bank");
System.out.println("Insert Bank account");
System.out.println();
System.out.printf(PROMT);
CLIENT = keyboard.nextLine(); //to be defined by user
if(CLIENT.length() != 16){
if(TIMESC == 0){
while(TIMESC < 4){
System.out.println("Not a valid Account");
System.out.println("Please insert a valid Account");
System.out.println(PROMT);
CLIENT = keyboard.nextLine();
TIMESC ++;
}
Cashier.close();
}
}
else{
System.out.println("Insert NIP");
System.out.printf(PROMT);
PASSWORD = keyboard.nextLine();
if(PASSWORD.length() != 4){
while(TIMESP < 4){
System.out.println("Not a valid NIP");
System.out.println("Please insert a valid NIP");
PASSWORD = keyboard.nextLine();
TIMESP ++;
}
Cashier.close();
}
}
【问题讨论】:
-
似乎您从未将输入的密码值与预期值进行比较。您还允许使用 0 长度密码:
CLIENT.length() != 16,这肯定不是您想要的。