Java | 配列の文字列表現 練習問題

Java Java
スポンサーリンク


前回の 10 問とは まったく別パターンの新しい練習問題を 10 問 用意し、すべて 模範解答つき でまとめました。
難易度は 基礎 → 応用 の順になっています。


問題 11(基礎)

次の配列 int[] a = {5, 10, 15};中身が見える形で 出力してください。


問題 12(基礎)

String[] names = {"Alice", "Bob", "Charlie"}; を中身が確認できるように出力せよ。
println(names) を使うのは不可)


問題 13(基礎)

次のプログラムの出力がどうなるか書きなさい。

int[] x = {1, 2, 3};
System.out.println(x);
Java

問題 14(基礎)

次の配列を toString を使って出力 するコードを書け。

double[] prices = {10.5, 22.0, 35.8};
Java

問題 15(応用)

次の 2 次元配列を 正しく(中身が見える形で) 出力してください。

int[][] scores = {
    {80, 90},
    {70, 60}
};
Java

問題 16(応用)

次の 2 次元配列を Arrays.toString だけで出力したとき、
どんな問題が起きるか説明しなさい。

int[][] values = {
    {1, 2},
    {3, 4}
};
Java

問題 17(応用)

次の配列を出力するときに 誤っているコード を選びなさい。

A

System.out.println(Arrays.toString(arr));
Java

B

System.out.println(Arrays.deepToString(arr));
Java

C

System.out.println(arr);
Java

(※ arr は 1 次元の int[] とする)


問題 18(難しめ)

3 次元配列を 正しく出力 するコードを書きなさい。

int[][][] data = {
    {
        {1,2},
        {3,4}
    },
    {
        {5,6},
        {7,8}
    }
};
Java

問題 19(難しめ)

次のコードを実行したときの出力を答えよ。

int[][] arr = {
    {1, 2},
    {3, 4}
};
System.out.println(Arrays.toString(arr));
Java

問題 20(難しめ)

次のコードを deepToString を使って書き直し
多次元配列全ての値を表示せよ。

String[][] fruits = {
    {"Apple", "Banana"},
    {"Grape", "Melon"}
};
Java

解答 11

int[] a = {5, 10, 15};
System.out.println(Arrays.toString(a)); 
Java

解答 12

String[] names = {"Alice", "Bob", "Charlie"};
System.out.println(Arrays.toString(names));
Java

解答 13

[I@xxxxxx

(※実際の xxxxxx はメモリ位置を示す値で毎回異なる)
中身は表示されない。参照が出る。


解答 14

double[] prices = {10.5, 22.0, 35.8};
System.out.println(Arrays.toString(prices));
Java

解答 15

int[][] scores = {
    {80, 90},
    {70, 60}
};

System.out.println(Arrays.deepToString(scores));
Java

解答 16

Arrays.toString は 1 次元配列しか展開しないため、
内部の配列が参照([I@xxxx])として表示されてしまう。


解答 17

誤っているのは C

理由:
arrSystem.out.println(arr) すると参照だけが出る。


解答 18

int[][][] data = {
    {
        {1,2},
        {3,4}
    },
    {
        {5,6},
        {7,8}
    }
};

System.out.println(Arrays.deepToString(data));
Java

解答 19

[[I@xxxxxx, [I@yyyyyy]

→ 2 次元配列を toString で出すと 子配列が参照表示になる。


解答 20

String[][] fruits = {
    {"Apple", "Banana"},
    {"Grape", "Melon"}
};

System.out.println(Arrays.deepToString(fruits));
Java
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました