Java에서 문자를 입력하는 사용자가 실제로 문자를 입력 할 때까지 문자를 묻는 방법을 작성하는 데 문제가 있습니다. 그렇다면이 방법을 사용하여이 편지를 보내주십시오.조건이 충족 될 때까지 입력을 요청하고이 입력을 반환하는 방법
그래서 사용자가 "2"를 입력하면 메서드에서 문자를 다시 요청하려고합니다.
아래 코드를 작성했지만 문자가 루프 내부에서 작성되어 루프 외부에서 리턴 할 수 없습니다.
public String askForLetter() {
Scanner in = new Scanner(System.in);
int flag = 1;
do {
System.out.println("Type a letter");
String letter = in.next();
if (isLetter(letter)) {
flag = 2;
return letter;
} else
throw new IllegalArgumentException("Illegal argument, try again");
} while (flag == 1)
return letter;
}
어떻게 이런 종류의 문제를 해결할 수 있습니까?
루프 앞에 기본값 (""이 될 수 있음)을 지정하고 루프 내부에 입력 값을 할당하십시오. –
그래서 사용자가 편지를 입력 할 때까지 프로그램을 종료해서는 안된다는 것을 이해할 수 있습니까? –
그렇듯이 루프의 반복은 하나뿐입니다. 성공했거나 값을 반환하거나 실패하고 '예외'가 throw됩니다. 'while'조건은 절대로 평가되지 않습니다. – Berger