java 続けますか?Y/N判定で Nを入力しても止まりません
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class LoToi1 {
public static void main(String[] args) {
//入力するための準備
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("入力された年が閏年か判別します。");
for(;;){
//メッセージを表示する
System.out.println("西暦を整数入力してください。");
try {
//入力する情報を取得
String line = br.readLine();
//文字列を数値に変換
int a = Integer.parseInt(line);
//閏年の判定処理
if (a%4 == 0 && a%100 != 0 || a%400 == 0) {
System.out.println("閏年です。");
} else { //それ以外の処理
System.out.println("閏年ではありません。");
}
System.out.println("続けますか?Y/N");
boolean yn = false;
while(!yn) {
String input = br.readLine();
if(input.equals("Y") || input.equals("y")) {
yn=true;
} else if(input.equals("N") || input.equals("n")) {
yn=false;
break;
} else {
System.out.println("YかNを入力してください。");
}
}
} catch (IOException e) {
//入出力時に失敗があった時に行われる処理
e.printStackTrace();
} catch(NumberFormatException e){
//数値以外の値が入力された場合の例外処理
System.out.println("整数で入力してください");
}
}
}
}
else if のbreak;なぜ効かないですか?