Java | 初心者向け 練習帳(配列表示編)

Java Java
スポンサーリンク


では、先ほどの練習帳を 単元ごとに「例題 → 練習問題 → 解答」ページ形式 に整理した形で作ります。
これにより、学習の流れが見えやすく、手を動かして確認しやすい形式 になります。
ここではサンプルとして 「配列の文字列表示」単元 を完全版で作ります。

単元1:1次元配列の表示(Arrays.toString)

例題1-1

import java.util.Arrays;

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

出力

[1, 2, 3]

解説:1次元配列は Arrays.toString を使うと中身を確認できる。


練習問題1-1

double[] prices = {10.5, 20.0, 30.5};
// 配列の中身を表示してください
Java

練習問題1-2

String[] fruits = {"apple", "banana"};
// 配列の中身を表示してください
Java

解答1

System.out.println(Arrays.toString(prices)); // [10.5, 20.0, 30.5]
System.out.println(Arrays.toString(fruits)); // [apple, banana]
Java

単元2:多次元配列の表示(Arrays.deepToString)

例題2-1

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

出力

[[1, 2], [3, 4]]

解説:2次元以上の配列は deepToString で展開される。


練習問題2-1

int[][] scores = {
    {80, 90},
    {70, 60}
};
// 配列の中身を表示してください
Java

練習問題2-2

int[][] jagged = { {1}, {2,3,4}, {} };
// 配列の中身を表示してください
Java

解答2

System.out.println(Arrays.deepToString(scores));  // [[80, 90], [70, 60]]
System.out.println(Arrays.deepToString(jagged));  // [[1], [2, 3, 4], []]
Java

単元3:空・null 配列の扱い

例題3-1

int[] empty = new int[0];
System.out.println(Arrays.toString(empty));
Java

出力

[]

例題3-2(null 配列)

int[] arr = null;
System.out.println(arr == null ? "null" : Arrays.toString(arr));
Java

出力

null

練習問題3-1

空の String 配列を表示

練習問題3-2

null の int 配列を安全に表示

解答3

String[] emptyStrings = new String[0];
System.out.println(Arrays.toString(emptyStrings)); // []

int[] nullArray = null;
System.out.println(nullArray == null ? "null" : Arrays.toString(nullArray)); // null
Java

単元4:オブジェクト配列の表示

例題4-1

class Person {
    String name;
    Person(String n){ name=n; }
    @Override
    public String toString(){ return name; }
}

Person[] people = { new Person("Alice"), new Person("Bob") };
System.out.println(Arrays.toString(people));
Java

出力

[Alice, Bob]

解説:オブジェクト配列は toString() が呼ばれる。
オーバーライドすると見やすくなる。

練習問題4-1

Person クラス配列を作って表示

練習問題4-2

Object 配列に String と Integer を混在させて表示

解答4

Person[] people2 = { new Person("Charlie"), new Person("Diana") };
System.out.println(Arrays.toString(people2)); // [Charlie, Diana]

Object[] mixed = {"Hello", 100, 3.14};
System.out.println(Arrays.toString(mixed));   // [Hello, 100, 3.14]
Java

単元5:配列の一部表示(部分配列)

例題5-1

int[] nums = {1,2,3,4,5};
int[] head = Arrays.copyOfRange(nums, 0, 3);
System.out.println(Arrays.toString(head));
Java

出力

[1, 2, 3]

練習問題5-1

配列 {10,20,30,40,50} の最初の 2 要素を表示

練習問題5-2

2次元配列の最初の行だけを表示

解答5

int[] part = Arrays.copyOfRange(new int[]{10,20,30,40,50}, 0, 2);
System.out.println(Arrays.toString(part)); // [10, 20]

int[][] mat = {{1,2,3},{4,5,6}};
System.out.println(Arrays.toString(mat[0])); // [1, 2, 3]
Java

単元6:安全に配列を文字列化するユーティリティ

例題6-1

public static String safeArrayToString(Object obj) {
    if(obj == null) return "null";
    if(obj instanceof Object[]) return Arrays.deepToString((Object[])obj);
    if(obj instanceof int[]) return Arrays.toString((int[])obj);
    // 他の基本型も同様
    return obj.toString();
}

System.out.println(safeArrayToString(new int[]{1,2,3})); // [1, 2, 3]
System.out.println(safeArrayToString(null));             // null
Java

練習問題6-1

1次元 int 配列を safeArrayToString で出力

練習問題6-2

2次元 String 配列を safeArrayToString で出力

解答6

System.out.println(safeArrayToString(new int[]{5,6,7}));       // [5, 6, 7]
System.out.println(safeArrayToString(new String[][]{{"A","B"},{"C","D"}})); // [[A, B], [C, D]]
Java

単元7:高難度・応用

練習問題7-1

3次元配列を deepToString で表示

練習問題7-2

Object 配列に null を混ぜて safeArrayToString で表示

練習問題7-3

ユーザー名配列をログ形式で表示

String[] users = {"taro","hanako","jiro"};
// Users: [taro, hanako, jiro]
Java

練習問題7-4

商品カテゴリ多次元配列を deepToString で出力

解答7

int[][][] cube = {{{1,1},{2,2}},{{3,3},{4,4}}};
System.out.println(Arrays.deepToString(cube)); // [[[1, 1], [2, 2]], [[3, 3], [4, 4]]]

Object[] mix = {"Hello", null, 42};
System.out.println(safeArrayToString(mix)); // [Hello, null, 42]

String[] users = {"taro","hanako","jiro"};
System.out.println("Users: " + Arrays.toString(users)); // Users: [taro, hanako, jiro]

String[][] categories = {{"Food","Drink"},{"Clothes","Shoes"}};
System.out.println(Arrays.deepToString(categories)); // [[Food, Drink], [Clothes, Shoes]]
Java

この形式で作れば、1ページ=単元単位で「例題→問題→解答」 が整理され、
初心者でも順に読み進めながら 手を動かして理解できる 練習帳になります。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました