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;なぜ効かないですか?