Javaプログラミング基礎

演習問題

解答は

に提出しなさい。ソースファイル (〜.java) のみを提出。 提出は gFTP 等の ftp ソフトを用いて行ってください。

問題1

int 型変数の引数を受け取り、 その絶対値を返すメソッド abs を書きなさい。 main メソッドは次のようにする。

プログラム名は AbsoluteCalculator とする。

class AbsoluteCalculator {
    public static void main(String[] args) {
        int a = -2;

        System.out.println(a + " の絶対値は " + abs(a));
    }

    ....
    メソッド abs の内容
    ....
}

問題2

2 つの int 型変数 xy を引数として受け取り、 べき乗 xy を返すメソッド power を書きなさい。

main メソッドでは 2 つの int 型の数を用意しておき、 そのべき乗の値を表示するようにすること。 y の値は 0 以上だと仮定して良い。

プログラム名は PowerCalculator とする。

問題3

組み合せの数 nm を求めるメソッド combination を書きなさい。 このメソッドの引数は、 int 型整数が 2 つ (nm) である。 例題 1 のメソッド fact を利用して書くこと。 したがって、 main が combination を呼び、combination が fact を呼ぶので、 2 段階の呼び出しになる。

このメソッド combination を使い、Pascal の三角形 (0 ≦ n ≦ 10 における 0 ≦ mnnm の一覧表) を表示する main を書きなさい。

このプログラムを実行したとき、次のような結果になれば良い。

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1

ファイル名は PascalsTriangle.java としなさい。

問題4

int 型の配列を用意し適当な数を複数用意しておく。
(例: int[] a = new int[] {15, 9, 12, 10, 6, 8, 16, 5, 13, 14};)

配列の中から最大の値を探すプログラムを書きなさい。 この例の値で初期化された配列であれば 16 が表示されれば良いことになる。 プログラム名は MaxSearcher とする。

このプログラムは、 配列から最大値を探すメソッド maxVariable を定義し、 main から呼び出すように作る。 maxVariable は引数として配列を受け取り 最大値を返すメソッドとして作る。

class MaxSearcher {
    public static void main(String[] args) {
        int[] a = new int[] {15, 9, 12, 10, 6, 8, 16, 5, 13, 14};

        System.out.println("最大値は " + maxVairble(a) + "です");
    }

    // ......
    // メソッド maxVariable の中身をここに書く
    // ......
}

なお、配列から最大または最小の要素を探す方法は 配列の回の例題 で取り上げている。このプログラムを参考にすると良い。 (今回の問題では、最大/最小であった要素の番号までは求める必要はない。)