では、前回までの 20 問に続いて、完全に新しい練習問題をさらに 10 問(21〜30) 用意します。
今回も 基礎 → 応用 → 実務風 の順で難易度を上げています。
すべて 模範解答つき。
問題 21(基礎)
次の配列 char[] cs = {'A','B','C'}; の中身を確認できる形で表示せよ。
問題 22(基礎)
次のコードの出力を説明せよ。
boolean[] flags = {true, false, true};
System.out.println(flags);
Java問題 23(基礎)
long[] ids = {1001L, 1002L, 1003L}; を 中身つきで出力するコード を書け。
問題 24(基礎)
次の配列を toString で出力したときの結果を書け。
String[] langs = {};
Java問題 25(応用)
次の 2 次元配列を deepToString を使って表示せよ。
int[][] matrix = new int[2][3];
Java(※ すべて 0 が入っている)
問題 26(応用)
次のコードは誤りがある。修正せよ。
int[] nums = {1,2,3};
System.out.println(Arrays.deepToString(nums));
Java問題 27(応用)
3×3 の多次元配列を次のように初期化し、中身を表示せよ。
1 2 3
4 5 6
7 8 9
問題 28(応用)
次のコードの出力を答えよ。
String[][] words = {
{"a", "b"},
null,
{"c", "d"}
};
System.out.println(Arrays.deepToString(words));
Java問題 29(実務風)
ユーザー名一覧を表す配列がある。
String[] users = {"taro", "hanako", "jiro"};
Javaログに
Users: [taro, hanako, jiro]
と出力するコードを書け。
問題 30(実務風)
あるプログラム内で、商品カテゴリを多次元配列として保持している:
String[][] categories = {
{"Foods", "Drink"},
{"Furniture", "Bed", "Chair"},
{"Clothes", "Shoes"}
};
Javaすべてのカテゴリ名を一覧表示できるように出力せよ。
解答 21
char[] cs = {'A','B','C'};
System.out.println(Arrays.toString(cs));
Java解答 22
出力例:
[C@xxxxxx
→ char[] の 参照アドレス が表示される。
→ 中身は見えない。
解答 23
long[] ids = {1001L, 1002L, 1003L};
System.out.println(Arrays.toString(ids));
Java解答 24
[]
空配列を toString で表示すると空のリスト形式。
解答 25
int[][] matrix = new int[2][3];
System.out.println(Arrays.deepToString(matrix));
// 出力例: [[0, 0, 0], [0, 0, 0]]
Java解答 26(修正ポイント)
deepToString は 1 次元基本型配列には使えない。
修正版:
int[] nums = {1,2,3};
System.out.println(Arrays.toString(nums));
Java解答 27
int[][] arr = {
{1,2,3},
{4,5,6},
{7,8,9}
};
System.out.println(Arrays.deepToString(arr));
Java解答 28
[[a, b], null, [c, d]]
deepToString は null もそのまま "null" として扱う。
解答 29
String[] users = {"taro", "hanako", "jiro"};
System.out.println("Users: " + Arrays.toString(users));
Java解答 30
String[][] categories = {
{"Foods", "Drink"},
{"Furniture", "Bed", "Chair"},
{"Clothes", "Shoes"}
};
System.out.println(Arrays.deepToString(categories));
Java