break;
문을 사용하여 for
루프를 종료하려고합니다. 무슨 일이 일어나고 무엇중첩 된 "if"문에서 중첩 된 "for"루프 중단
final int NUM_USERS = 6; // Max Number of Users.
UserInfo[] users = new UserInfo[NUM_USERS]; // Array of Users.
int loginCounter = 0; // Counts bad login attempts.
int i = 0; // Loop index variable.
String userRole = ""; // Holds user's role text.
for (loginCounter = 1; loginCounter <= 3; ++loginCounter) {
// Get User's Credentials.
System.out.println("Enter Username: ");
String username = input.next().toLowerCase();
input.nextLine(); // Allows User to enter password.
System.out.println("Enter Password: ");
String password = input.nextLine();
String hash = sysLogin.convertToMd5(password);
for (i = 0; i < users.length; ++i) {
if (username.equals(users[i].getUsername())) {
if (hash.equals(users[i].getHash())) {
userRole = users[i].getRole();
sysLogin.goodLogin(); // Prints Good Login message.
break;
}
} else {
sysLogin.badLogin(); // Prints Bad Login message.
}
}
}
:
코드는 username
및 password
읽어 그것이 좋은 로그인되어 있는지 확인합니다, 다시, 사용자 이름과 암호를 묻는 돌아갑니다. 일어날 것으로 예상된다 무엇
:
가 성공적으로 로그인을 명중하면, 그것은 현재 사용자의 역할에 userRole
을 설정 후 루프를 종료는 goodLogin
메시지가 표시됩니다.
그리고 당신은 발생하는 어떤 문제가 있습니까? – Gendarme
예기치 않은 결과가 발생하는 곳을보기 위해 디버거를 연결하고 코드를 단계별로 실행 해 보았습니까? –
휴식은 사용자 목록을 반복하는 대부분의 for 루프에서 빠져 나가고 outtr 루프에서 벗어나지 않습니다. –