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次元整数配列内の最小値と最大値を見つけてコンソールに表示します。
多次元配列の最小値と最大値の検出
多次元配列内の最小値と最大値を見つけるためのプログラムは、多次元ループを使用して配列内の各要素を比較し、最小値と最大値を見つける方法です。上記の解答例のプログラムを解説します。
- 配列の初期化: 最初に、2次元整数配列
matrix
を宣言し、値を初期化します。この例では3行3列の行列が用意されています。 - 最小値と最大値の初期化:
minValue
とmaxValue
という変数を使用して、最小値と最大値を初期化します。初期値として、配列の最初の要素matrix[0][0]
の値を設定しています。 - 配列内の各要素の比較: ネストされた
for
ループを使用して、2次元配列内の各要素を順に調べます。外側のループが行、内側のループが列を反復処理します。 - 最小値と最大値の更新: 各要素を
currentElement
として取得し、その要素が現在の最小値 (minValue
) よりも小さい場合、最小値をcurrentElement
に更新します。同様に、currentElement
が現在の最大値 (maxValue
) よりも大きい場合、最大値をcurrentElement
に更新します。 - 結果の出力: 最小値と最大値が見つかったら、それらをコンソールに出力します。
この方法を使用することで、多次元配列内の最小値と最大値を見つけることができます。このプログラムは、行列のようなデータ構造に対しても適用でき、任意の次元の多次元配列に適用できます。