我被卡住的练习是使用do-while循环的练习。我应该提示用户输入密码,然后再次输入密码。如果这些密码匹配,他们将获得访问权限。如果两个密码不匹配,那么我应该提示用户再次输入3次密码。第三次后,它会告诉他们访问被拒绝。我很难区分do-while循环中的什么地方。使用将在3次尝试后终止的do-while循环
这是我(更新)...仍然困惑,为什么它没有终止:
import java.util.Scanner;
public class PasswordChecker{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String password1;
String password2;
int i = 1;
do {
System.out.println("Please enter your password");
password1 = sc.nextLine();
System.out.println("Please re-enter your password");
password2 = sc.nextLine();
} while(!password1.equals(password2) && i<=3);
i++;
}
}
http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – 2014-10-08 00:25:59
'而(ⅰ<= 3 && password1.equals(密码)!);' – 2014-10-08 00:26:21
'i'在'do-while'循环之外增加,因此在检查密码时永远不会增加。您也永远不会让用户有机会在“do-while”循环中重新输入密码。首先让它工作一次(没有循环),然后将循环包装起来,一定要包含循环所需的退出逻辑 – MadProgrammer 2014-10-08 00:28:19