我被卡住的練習是使用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