나는 AS 수준의 컴퓨팅 클래스에서 Java를 배우기 시작했으며, 실제로 설정 한 첫 번째 DIY 작업을 수행했습니다.do-while 루프 다음에 코드가 계속되지 않습니까?
do-while 문을 사용하여 사용자의 입력 사용자 이름이 배열 "names"에 있는지 확인했습니다. 그렇지 않은 경우 올바른 사용자 이름이 입력 될 때까지 사용자 이름을 다시 입력해야합니다. 나는 또한 부울을 설정 했으므로 올바른 사용자 이름을 입력하면 do-while 루프가 취소되고 코드가 계속됩니다.하지만 그렇지 않습니다.
String[] names = {"mckeownl", "heardj", "williamsc"};
String[] attendance = {"yes", "no", "yes"};
int[] grade = {96, 66, 73};
boolean loggedin = false;
Scanner user_input = new Scanner(System.in);
String login;
login = user_input.next();
do { // beginning of while - login
System.out.println("Insert student's surname followed by the first letter");
System.out.print("of their first name (e.g John Smith = smithj): ");
if (Arrays.asList(names).contains(login)) {
System.out.println("Student selected: "+login+".");
loggedin = true;
}
else {
System.out.println("Incorrect student name! Please try again.");
loggedin = false;
}
} while (! loggedin);
if (login.equals(names[0])) {
System.out.println("Attend today: "+attendance[0]);
System.out.println("Grade: ");
}
else {
System.out.println("poo");
}
}
}
올바른 이름의 출력은 다음과 같습니다.
"성씨의 첫 글자 (예 : John Smith = smithj) 다음에 학생의 성을 입력하십시오. mckeownl 학생 선택 : mckeownl."
최종 if 문이 출력되지 않는 이유는 무엇입니까?
루프 외부에서'login'을 요청하는 이유는 무엇입니까? –
코드에 대한 한 가지 문제점은 ","가 유효한 로그인이 아니어야한다는 것입니다. 또한 "". –