004 配列(多次元配列の要素の呼び出し) 042 解答例

public class MinMaxFinder {
    public static void main(String[] args) {
        // 2次元整数配列を宣言および初期化
        int[][] matrix = {
            {3, 8, 2},
            {5, 1, 9},
            {4, 7, 6}
        };

        // 最小値と最大値の初期化
        int minValue = matrix[0][0];
        int maxValue = matrix[0][0];

        // 配列内の各要素を調べて最小値と最大値を見つける
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                int currentElement = matrix[i][j];

                // 最小値の更新
                if (currentElement < minValue) {
                    minValue = currentElement;
                }

                // 最大値の更新
                if (currentElement > maxValue) {
                    maxValue = currentElement;
                }
            }
        }

        // 結果を出力
        System.out.println("2次元配列内の最小値は: " + minValue);
        System.out.println("2次元配列内の最大値は: " + maxValue);
    }
}

このプログラムは、2次元整数配列内の最小値と最大値を見つけてコンソールに表示します。

多次元配列の最小値と最大値の検出

多次元配列内の最小値と最大値を見つけるためのプログラムは、多次元ループを使用して配列内の各要素を比較し、最小値と最大値を見つける方法です。上記の解答例のプログラムを解説します。

  1. 配列の初期化: 最初に、2次元整数配列 matrix を宣言し、値を初期化します。この例では3行3列の行列が用意されています。
  2. 最小値と最大値の初期化: minValuemaxValue という変数を使用して、最小値と最大値を初期化します。初期値として、配列の最初の要素 matrix[0][0] の値を設定しています。
  3. 配列内の各要素の比較: ネストされた for ループを使用して、2次元配列内の各要素を順に調べます。外側のループが行、内側のループが列を反復処理します。
  4. 最小値と最大値の更新: 各要素を currentElement として取得し、その要素が現在の最小値 (minValue) よりも小さい場合、最小値を currentElement に更新します。同様に、currentElement が現在の最大値 (maxValue) よりも大きい場合、最大値を currentElement に更新します。
  5. 結果の出力: 最小値と最大値が見つかったら、それらをコンソールに出力します。

この方法を使用することで、多次元配列内の最小値と最大値を見つけることができます。このプログラムは、行列のようなデータ構造に対しても適用でき、任意の次元の多次元配列に適用できます。

「0004 配列」問題集リスト