■概要
以下の2次元配列の値を使用して、合計値が20になるようなプログラムを実装する。
なお、配列の値をすべて使用しなくても良い。
{
{1, 2},
{3, 4, 5},
{6, 7, 8}
}
■計算方法
以下表のうち、赤字の値「1, 2, 4, 5, 8」を使用すれば、合計値「20」となる。
index | 0 | 1 | 2 |
0 | 1 | 2 | – |
1 | 3 | 4 | 5 |
2 | 6 | 7 | 8 |
■処理イメージ
上記の2次元配列から「1, 2, 4, 5, 8」のみを取得する方法は、
- for文を2つ用いる
- ①配列要素ブロック分繰り返し( i:3回)
- ②要素数分繰り返す( j )
インデックス開始はブロックのインデックス「 i 」に合わせる
j の初期値をインデックス「 i 」をに合わせることで、該当の部分のみループで回すことが可能
■フローチャート
実装するプログラムのフローチャートを示す。
■サンプルコード
実装するプログラムのサンプルコードを以下に示す。
package main;
public class ForAdd20Main {
public static void main(String[] args) {
/*
* 2次元配列の初期値セット [ [1, 2] [3, 4, 5] [6, 7, 8] ]
*/
final int[][] datas = new int[][] {{1, 2}, {3, 4, 5}, {6, 7, 8}};
// 合計の初期値をセット
int total = 0;
// 配列の要素ブロック分繰り返し
for (int i = 0; i < datas.length; i++) {
// 配列の要素分繰り返し
for (int j = i; j < datas[i].length; j++) {
// 合計値を加算
total += datas[i][j];
}
}
// 合計値を出力
System.out.println("合計値:" + total);
}
}
■実行結果
合計値:20
コメント