prg-lang-2 / week11 / Exer06.java
Exer06.java
Raw
// 課題06 うるう年
/* //Cプログラム
    #include <stdio.h>

    int isLeapYear(int year) {
        if(year%4 == 0 && year%100 != 0 || year%400 == 0) {
            return 1;
        }
        return 0;
    }

    int main(void) {
        int year;
        for (year = 1895 ; year < 1905 ; year++) {
            if ( isLeapYear(year) ) {
                printf("%d is Leap Year\n", year);
            }
        }
        for (year = 1995 ; year < 2004 ; year++) {
            if ( isLeapYear(year) ) {
                printf("%d is Leap Year\n", year);
            }
        }
        return 0;
    }
    //実行例
    # ./exer06
    1896 is Leap Year
    1904 is Leap Year
    1996 is Leap Year
    2000 is Leap Year
*/
public class Exer06 {
    // 実行開始点のmainメソッド以外のメソッドも漏れなくクラスの中に書く
    // true/falseの意味を担うint値はboolean値に変える
    // 1 -> true, 0 -> false, int -> boolean
    // 他のメソッドでも,返却値の型の前にpublic staticをつける(おまじない).
    public static boolean isLeapYear(int year) {
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            return true;
        }
        return false;
    }

    public static void main(String[] args) {
        int year;
        for (year = 1895; year < 1905; year++) {
            if (isLeapYear(year)) {
                System.out.printf("%d is Leap Year\n", year);
            }
        }
        for (year = 1995; year < 2004; year++) {
            if (isLeapYear(year)) {
                System.out.printf("%d is Leap Year\n", year);
            }
        }
    }
}

// おまけ
// Javaの実行コマンドの前にtimeコマンドをつければ,時間を計測できる.
/*
time /usr/bin/env /opt/java/jdk-19.0.1/bin/java --enable-preview -XX:+ShowCodeDetailsInExceptionMessages -cp /workspace/JavaExer01/bin Exer06
*/
// 一番後ろのExer06を他のファイル名にすれば,他のプログラムでも時間を計測できる.