Java - 打印二维数组

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

我有一个我操纵过的[20] [20]二维数组。简单地说,我正在做一个用户输入指令的海龟项目,例如pen up = 0和pen down = 1。当笔落在单独的阵列位置时,例如[3] [4]被标记为“1” 。

我的程序的最后一步是打印出20/20阵列。

我不知道如何打印它,我需要用“X”替换“1”

打印命令实际上是父类程序将调用的类内的方法...我知道我必须使用循环...任何帮助,将不胜感激。

public void printGrid()
        {
            System.out.println...
        }
提问于
用户回答回答于
public void printGrid()
{
   for(int i = 0; i < 20; i++)
   {
      for(int j = 0; j < 20; j++)
      {
         System.out.printf("%5d ", a[i][j]);
      }
      System.out.println();
   }
}

并取代

public void replaceGrid()
{
   for (int i = 0; i < 20; i++)
   {
      for (int j = 0; j < 20; j++)
      {
         if (a[i][j] == 1)
            a[i][j] = x;
      }
   }
}

你可以一口气做到这一点:

public void printAndReplaceGrid()
{
   for(int i = 0; i < 20; i++)
   {
      for(int j = 0; j < 20; j++)
      {
         if (a[i][j] == 1)
            a[i][j] = x;
         System.out.printf("%5d ", a[i][j]);
      }
      System.out.println();
   }
}
用户回答回答于

您可以使用Utilitymettod。Arrays.DeeptoString();

 public static void main(String[] args) {
    int twoD[][] = new int[4][]; 
    twoD[0] = new int[1]; 
    twoD[1] = new int[2]; 
    twoD[2] = new int[3]; 
    twoD[3] = new int[4]; 

    System.out.println(Arrays.deepToString(twoD));

}

扫码关注云+社区