Java:以网格格式打印二维数组

时间:2014-11-18 19:20:20

标签: java arrays

我很难找出以网格格式打印二维数组的代码。

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 个答案:

答案 0 :(得分:1)

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 :(得分:0)

当您使用System.out.println(...);时,它会在您要打印的字符串后面打印换行符char('\n')。只有在您的线路结束时(即在内部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("");
}

希望有所帮助。