如何修复打印为一列的2D数组

时间:2014-01-22 16:08:53

标签: java arrays multidimensional-array

所以这就是我的代码实际上看起来的样子,我试图制作一个简单的2d 10 x 10数组,最初只用零。零列打印在一列中,其中新列应该从中开始

   int[][] board = new int[10][10];

   for(int x=0; x<10; x++)
   {
       for(int y=0; y<10; y++)
       {
           board[x][y]=0;
       }
   }

   for(int x=0; x<10; x++)
   {
       for(int y=0; y<10; y++)
       {
           System.out.println(board[x][y] +"");
   }
       System.out.println("");
   }

它打印得像这样...

       0
       0
       0
       0
       0
       0
       0
       0
       0
       0

       0
       0
       0
       0
       0
       0
       0
       0
       0
       0 

等。 我尝试过其他格式,它们通常都是一样的。

我希望它看起来像......

       0000000000
       0000000000
       0000000000

4 个答案:

答案 0 :(得分:2)

使用println,注意ln后缀,表示它添加了\ n(新行)或\ r \ n(回车)或类似的东西,导致换行。

您需要使用类似但单独的打印功能进行打印而不使用新行,例如打印。

所以替换

System.out.println(board[x][y] +"");

System.out.print(board[x][y] +"");

这将按行打印位置。但是您需要在每行之间添加回车符。你已经用这条线做了什么:

System.out.println("");

答案 1 :(得分:0)

为什么不使用StringBuilder并逐行构建,然后打印。

for (int x = 0; x < 10; x++) {
   StringBuilder sb = new StringBuilder();

   for (int y = 0; y < 10; y++) {
      sb.append(" " + board[x][y]);
   }

   System.out.println(sb.toString());
}

答案 2 :(得分:0)

for(int x=0; x<10; x++)
{
   for(int y=0; y<10; y++)
   {
       System.out.println(board[x][y] +"");
}
   System.out.println("");
}

应该是

for(int x=0; x<10; x++)
{
   for(int y=0; y<10; y++)
   {
       System.out.print(board[x][y] +" ");
}
   System.out.println("");
}

再见

答案 3 :(得分:0)

在您的代码中,您使用了println,它将为每行提供输出。请改用print。我也删除了+""

 for(int i=0;i<10;i++){             
    for(int j=0; j<10;j++){
        System.out.print(board[i][j]);    
    }
    System.out.println("");
 }