Чтобы включить полное сообщение об ошибках, добавьте это в свой скрипт:
error_reporting(E_ALL);
Это приводит к появлению даже минимальных предупреждений. И на всякий случай:
ini_set('display_errors', '1');
заставит отображать ошибки. Это должно быть отключено на рабочих серверах, но не при разработке.
Нет ничего плохого в том, что у вас есть. Двойные вложенные петли должны легко усваиваться любым, кто читает ваш код.
При этом следующая формулировка более плотная и более идиоматическая java. Я бы посоветовал сначала выталкивать некоторые статические классы полезности, такие как Массивы и Коллекции раньше, чем позже. Тонны шаблона могут быть сбриты их эффективным использованием.
for (int[] row : array)
{
Arrays.fill(row, 0);
System.out.println(Arrays.toString(row));
}
|1 2 3|
|4 5 6|
Используйте следующий код для печати значений.
System.out.println(Arrays.deepToString());
Выход будет выглядеть так (вся матрица в одной строке):
[[1,2,3],[4,5,6]]
Простой и чистый способ печати 2D-массива.
System.out.println(Arrays.deepToString(array).replace("], ", "]\n").replace("[[", "[").replace("]]", "]"));
@ Ответ Ашики работает фантастически, если вы хотите (0,0) быть представленными в верхнем левом углу, в соответствии с обычным соглашением CS. Если, однако, вы предпочтете использовать обычное математическое соглашение и поместите (0,0) в нижний левый угол, вы можете использовать это:
LinkedList<String> printList = new LinkedList<String>();
for (char[] row: array) {
printList.addFirst(Arrays.toString(row));;
}
while (!printList.isEmpty())
System.out.println(printList.removeFirst());
Это использовало LIFO (Last In First Out) для реверса заказ во время печати.
Это лучшее, что я думаю:
for (int[] row : matrix){
System.out.println(Arrays.toString(row));
}
Вы можете напечатать простым способом.
Используйте ниже для печати 2D-массива
int[][] array = new int[rows][columns];
System.out.println(Arrays.deepToString(array));
Используйте ниже для печати 1D-массива
int[] array = new int[size];
System.out.println(Arrays.toString(array));
System.out.println(Arrays.deepToString(twoDm).replace("], ", "]\n"));
– wanderer0810
15 November 2017 в 16:15
Я предпочел бы вообще foreach
, когда мне не нужно делать арифметические операции с их индексами.
for (int[] x : array)
{
for (int y : x)
{
System.out.print(y + " ");
}
System.out.println();
}