그래서 두 번째 질문에 값을 입력하면 프로그램이 멈추고 아무 일도 일어나지 않습니다. 첫 번째 질문에 대한 값을 입력 한 다음 두 번째 질문에 대해 잘못된 값을 입력 한 다음 프로그램에서 취소하려고 시도하면 내 표시 방법이 제공됩니다 (값이 허용되지 않으면 안됨).값을 가져 오지 않았습니다
내 프로그램에서 무슨 문제가 있습니까?
while (invalidInput) {
//Try...catch block to find any input errors for the number.
try {
finalNum = JOptionPane.showInputDialog(null,
"Please enter a number between 1 and 20",
"The Word Factory", JOptionPane.QUESTION_MESSAGE);
while (finalNum != null) {
finalNumber = Integer.parseInt(finalNum);
if (finalNumber > 20 || finalNumber < 1) {
JOptionPane.showMessageDialog(null, "The number you entered was not between 1 and 20."
+ " \nPlease try again.",
"Input Error", JOptionPane.ERROR_MESSAGE);
finalNum = JOptionPane.showInputDialog(null,
"Please enter a number between 1 and 20",
"The Word Factory", JOptionPane.QUESTION_MESSAGE);
Part2 object = new Part2(finalString, finalNumber);
object.answer2 = finalString;
object.number2 = finalNumber;
object.display();
}
}
invalidInput = false;
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "The number you entered was not between 1 and 20."
+ " \nPlease try again.",
"Input Error", JOptionPane.ERROR_MESSAGE);
}
}
로직이 역방향 일 수 있습니까? 예상 입력과 출력을 예 – jgr208
으로 알려주십시오. 잘못된 대답을 입력하면 if가 입력됩니다. – jgr208
값이 유효하지만 else가없는 경우 while 루프에서 벗어나고 싶습니다. – jmluy