うるう年のチェックを行う †Calendarクラスを使って、引数で指定した年-2月-28日を設定し、 うるう年確認のサンプルソース †本サンプルソースは、実行時にチェックしたい年を引数として渡す必要があります。 java IsLeap 年 のようになります。 import java.util.Calendar; class IsLeap { public static void usage(String[] args) { if (args.length != 1) { System.err.println("usage: java isleap <Year>"); System.exit(1); } if (!isNum(args[0])) { System.err.println(args[0] + " is not number."); System.exit(2); } } private static boolean isNum(String s) { boolean b = true; try { Integer.parseInt(s); } catch (NumberFormatException e) { b = false; } return b; } public boolean isLeap(int year) { Calendar cal = Calendar.getInstance(); cal.set(year, 1, 28); //year/2/28 (month is zero start) // System.out.println("set end of Feb: " + cal.getTime().toString()); cal.add(Calendar.DATE, +1); // System.out.println("add 1 day: " + cal.getTime().toString()); if (cal.get(Calendar.MONTH)+1 == 3) { return false; } return true; } public static void main(String[] args) { usage(args); IsLeap me = new IsLeap(); boolean leap = me.isLeap(Integer.valueOf(args[0])); if (leap) { System.out.println(args[0] + " is leap year."); } else { System.out.println(args[0] + " is *not* leap year."); } } } 実行結果 †以下にコンパイルおよび実行結果を記します。
以上、Calendarクラスをつかってうるう年かどうかを確認するサンプルソースでした。 |