marunomaruno-memo

marunomaruno-memo

Java超入門追加問題サンプル解答(分岐)

2010年06月24日 | Weblog
■Quiz0701.java
int型の変数a, bに適当な初期値を入れる。
変数aと変数bを小さい順に並べる。

■Quiz0702.java
int型の変数aに適当な初期値を入れる。
変数aの符号を「+」「0」「-」と表示する

■Quiz0703.java
int型の変数a, b, cに適当な初期値を入れる。
変数aと変数b、変数cの最小値を表示する

■Quiz0704.java
西暦年yearを入力し、この西暦年がうるう年かどうかを表示する
・西暦年が4の倍数ならうるう年
・上記の条件でも、100の倍数なら平年
・上記の条件でも、400の倍数ならうるう年
どの条件にも当てはまらなければ平年

■Quiz0705.java
月(1~12)monthを入力して、その月の日数を表示する	

------------------------------------------------------------
/**
 * 変数aと変数bを小さい順に並べる
 */
public class Quiz0701 {
    public static void main(String[] args) {
        int a = 20;
        int b = 10;
        
        // 表示する
        System.out.println("並べ替え前:a = " + a + ", b = " + b);

        // 小さい順になるように入れ替える
        if (a > b) {
            int w = a;
            a = b;
            b = w;
        }
        
        // 表示する
        System.out.println("並べ替え後:a = " + a + ", b = " + b);
    }
}

------------------------------------------------------------
/**
 * 変数aの符号を「+」「0」「-」と表示する
 */
public class Quiz0702 {
    public static void main(String[] args) {
        int a = 20;
        char sign;    // 符号

        // 符号を設定する
        if (a > 0) {
            sign = '+';
        } else if (a == 0) {
            sign = '0';
        } else {
            sign = '-';
        }
        
        // 表示する
        System.out.println(a + " は " + sign + " です。");
    }
}

------------------------------------------------------------
/**
 * 変数aと変数b、変数cの最小値を表示する
 */
public class Quiz0703 {
    public static void main(String[] args) {
        int a = 20;
        int b = 5;
        int c = 10;
        int min;        // 最小値
        
        min = a;        // a を最小値と仮定する
        
        // min と b の最小値を決める
        if (min > b) {
            min = b;
        }

        // min と c の最小値を決める
        if (min > c) {
            min = c;
        }
        
        // 表示する
        System.out.println(a + ", " + b + ", " + c + " の最小値は " + min + " です。");
    }
}

------------------------------------------------------------
/**
 * 西暦年を指定し、この西暦年がうるう年かどうかを表示する
 *         西暦年が4の倍数ならうるう年
 *         上記の条件でも、100の倍数なら平年
 *         上記の条件でも、400の倍数ならうるう年
 *         どの条件にも当てはまらなければ平年
 */
public class Quiz0704 {
    public static void main(String[] args) {
        int year = 2010;    // 西暦年

        boolean leapYear;    // うるう年かどうかのフラグ
        if ((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))) {
            leapYear = true;
        } else {
            leapYear = false;
        }
        
        // 結果を表示する
        if (leapYear) {
            System.out.println(year + " 年はうるう年です。");
            
        } else {
            System.out.println(year + " 年は平年です。");

        }
    }
}

------------------------------------------------------------
/**
 * 月(1~12)を指定して、その月の日数を表示する
 */
public class Quiz0705 {
    public static void main(String[] args) {
        int month = 6;    // 月

        int day;        // 日数
        
        switch (month) {
        case  4:
        case  6:
        case  9:
        case 11:
            day = 30;
            break;
            
        case 2:
            day = 28;
            break;

        default:
            day = 31;
            break;

        }
        
        // 結果を表示する
        System.out.println(month + " 月は " + day + " 日です。");
    }
}

------------------------------------------------------------