ポイントとしては『二次元配列とは配列の中に配列が入っている』ということです。
【問題】
二次元配列を使用して以下のように数字を出力せよ
ただし、初期化子を使って配列を初期化しないこと
表示時にはfor文と拡張for文と2種類使うこと
【出力結果】
1 2
1 2 3
1
1 2
1 2 3
【回答例】
public static void main(String[] args) {
//二次元配列は配列の中に配列を格納
//一次元目のみの要素を確保
//(二次元目は後から動的確保)
int[][] a = new int[3][];
//0番目の要素の二次元目を動的確保
//一次元目の要素には一次元配列を格納
a[0] = new int[1];
a[0][0] = 1;
//1番目の要素の二次元目を動的確保
a[1] = new int[2];
a[1][0] = 1;
a[1][1] = 2;
//2番目の要素の二次元目を動的確保
a[2] = new int[3];
a[2][0] = 1;
a[2][1] = 2;
a[2][2] = 3;
//for文でインデックスを使って表示
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.printf("%d ", a[i][j]);
}
System.out.println();
}
System.out.println();
//拡張for文で各要素を取得しながら表示
//一次元目は配列を取得
for (int[] t : a) {
//二次元目でintの値を取得
for (int num : t) {
System.out.printf("%d ", num);
}
System.out.println();
}
}
}
0 件のコメント:
コメントを投稿