Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как вывести массив на экран

Короткий ответ

Arrays.toString() превращает массив в читаемую строку:

void main() {
    int[] numbers = {5, 3, 8};
    IO.println(Arrays.toString(numbers));
}

Результат:

[5, 3, 8]

Двумерный массив

Для массива массивов нужен Arrays.deepToString():

void main() {
    int[][] grid = {{1, 2}, {3, 4}};
    IO.println(Arrays.deepToString(grid));
}

Результат:

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

Свой формат

Строки склейте через String.join(), остальное — через поток:

void main() {
    String[] names = {"Anna", "Oleg"};
    double[] prices = {1.5, 20.0};
 
    IO.println(String.join(" / ", names));
    IO.println(Arrays.stream(prices).mapToObj(p -> p + " €").collect(Collectors.joining(", ")));
}

Результат:

Anna / Oleg
1.5 €, 20.0 €

Таблица

Двумерный массив удобно печатать по строкам:

void main() {
    int[][] grid = {{1, 2, 3}, {4, 5, 6}};
    for (int[] row : grid) {
        IO.println(Arrays.stream(row).mapToObj(n -> "%3d".formatted(n)).collect(Collectors.joining()));
    }
}

Результат:

  1  2  3
  4  5  6

Частая ошибка

Напечатать массив напрямую. Массивы не переопределяют toString(), поэтому выводится тип и хеш-код:

void main() {
    int[] numbers = {5, 3, 8};
    IO.println(numbers);
}

Результат:

[I@1786f9d5

Число после @ у вас будет другим.

Функции из этого ответа

  • Arrays.toString() — Возвращает содержимое массива в виде строки [1, 2, 3].
  • String.join() — Склеивает строки через разделитель.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.