Мне трудно понять код для печати двумерного массива в формате сетки.

public class TwoDim {
    public static void main (String[] args) {
        int[][] ExampleArray = new int [3][2];

        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 2; j++)
            {
                ExampleArray[i][j] = i * j;
                System.out.println(j);
            }   
            System.out.println(i);
        }
    }
}
-2
Sam 18 Ноя 2014 в 22:20
1
Измените на System.out.print(ExampleArray[i][j]+" "); вместо использования println. И удалите i из, System.out.println();
 – 
BatScream
18 Ноя 2014 в 22:22
Вы можете попробовать это: System.out.println(Arrays.deepToString(ExampleArray));.
 – 
Tom
18 Ноя 2014 в 22:51

2 ответа

Лучший ответ

Когда вы используете System.out.println(...);, он печатает символ новой строки ('\n') после строки, которую вы намеревались напечатать. Это должно происходить только в том случае, если ваша строка завершена (т.е. вне оператора innest for). Итак, ваши циклы for должны быть:

for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 2; j++)
    {
        ExampleArray[i][j] = i * j;
        System.out.print(ExampleArray[i][j] + ' '); //You can replace ' ' by '\t', if
                                                      //you want a tab instead of a space
    }   
    System.out.println("");
}

Надеюсь, это поможет.

0
Fernando Aires 4 Дек 2014 в 23:02

System.out.println(s) печатает s, затем печатает символ возврата строки . Поэтому, если вы хотите, чтобы несколько вызовов print попадали в одну линию, вам следует использовать вместо этого System.out.print(s). Кроме того, вы можете использовать System.out.println() (без аргументов), чтобы ничего не печатать, а переходить к следующей строке. Собираем все это вместе:

public class TwoDim {
    public static void main (String[] args) {

    int[][] ExampleArray = new int [3][2];
        for (int i = 0; i < 3; i++){
            for (int j = 0; j < 2; j++){
                ExampleArray[i][j] = i * j;
                System.out.print(j + "  ");
            }   
        System.out.println();
        }
    }
}
1
Mshnik 18 Ноя 2014 в 22:24