我正在创建一个程序,要求用户输入用户名和密码,检查它是否与我拥有的三组用户名和密码之一相同,如果是,则继续该程序。如果与任何设置都不匹配,则应要求用户再次输入用户名和密码。经过三次尝试,它应该退出程序。现在,无论我输入什么用户名和密码,它都将继续进行程序的下一部分。这是主要代码:
int y = 0;
do {
String user = user(scan);
String pass = pass(scan);
boolean b = check(user, pass);
if (b = false) {
y+=1;
}
if (y == 3) {
System.out.println("Too many incorrect tries");
break;
}
} while (y != 0);
这是用户方法:
public static String user(Scanner scan) {
System.out.print("Enter your username: ");
String username = cipher(scan.nextLine(), 5);
return username;
}
这是通过方法:
public static String pass(Scanner scan) {
System.out.print("Enter your password: ");
String pass = cipher(scan.nextLine(), 5);
return pass;
}
以下是检查方法:
public static boolean check(String username, String password) {
boolean valid = false;
if (username.equals("Ofhp") && password.equals("ofhpnsjq8")) {
valid = true;
} else if (username.equals("Fqnhnf") && password.equals("nqtajofhp79")){
valid = true;
} else if (username.equals("Idqfs") && password.equals("hmzggdgzssd")) {
valid = true;
} else {
valid = false;
}
return valid;
}
答案 0 :(得分:1)
您可能需要在此处加双等号:
if (b = false) {
y+=1;
}
编辑:或者简单地
if(!b) {