入力された整数がグレゴリオ暦でうるう年であるか判定するプログラムを書いてください。

閏年判定の条件

  1. 西暦が4で割り切れる年は閏年。
  2. ただし、100で割り切れる年は閏年ではない。
  3. ただし、400で割り切れる年は閏年。
入力される値
1行目には、入力される行数Tが入ります。
1回のテストケースは、1行に1つずつ整数Nが入っている複数行の標準入力(stdin)による入力になります。 
標準入力からの値取得方法はこちらをご確認ください
期待する出力
標準出力(stdout)で、入力された行数分の判定結果を出力します。
うるう年だった場合[N is a leap year]
うるう年でない場合[N is not a leap year] と、出力。
条件
T、N は整数
N>= 1
入力例
4
1000
1992
2000
2001
出力例
1000 is not a leap year
1992 is a leap year
2000 is a leap year
2001 is not a leap year


윤년의 조건으로는

4로 나눈 나머지가 0인 해로써, 100의 배수인 해는 제외하며, 400의 배수인 해는 포함

4로 나눈 나머지가 0인 해 (0 == year%4)

100의 배수인 해는 제외 (0 != year%100)

400의 배수인 해는 포함 (0 == year%400)



package 연습;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.util.*;


public class LearYear {


public static void main(String[] args) throws Exception {

 // main()메소드 내에서 사용하는 I/O와 관련된 예외를 통과시키기 위해 throws를 이용

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

             

        System.out.print("입력할 횟수: ");

        String line = br.readLine();        

        int n = Integer.parseInt(line);

        

        for(int i = 0; i < n; i++) {

        System.out.print((i+1) + "번째 년도: ");        

        String line2 = br.readLine();        

        int year = Integer.parseInt(line2);

        

         if(0 == (year%4) && 0 != (year%100) || 0 == (year%400)) {

        System.out.println(year + " is a leap year");

         }

         else System.out.println(year + " is not a leap year");

        }

    }

}





Posted by netyhobby
,