【问题标题】:How to initialize a 2D array of strings in java如何在java中初始化一个二维字符串数组
【发布时间】:2014-12-08 16:23:08
【问题描述】:

我知道如何声明数组并且我已经这样做了:

String[][] board1 = new String[10][10];

现在我想让它默认每个空格都是“-”(当然没有引号)。我见过其他类似的问题,但答案对我来说没有意义。我能理解的是,我可能需要一个 for 循环。

【问题讨论】:

    标签: java arrays string multidimensional-array initialization


    【解决方案1】:

    我能想到的最快方法是像这样使用Arrays.fill(Object[], Object)

    String[][] board1 = new String[10][10];
    for (String[] row : board1) {
        Arrays.fill(row, "-");
    }
    System.out.println(Arrays.deepToString(board1));
    

    这是使用For-Each 来迭代board1String[](s) 并用“-”填充它们。然后它使用Arrays.deepToString(Object[]) 打印它。

    【讨论】:

      【解决方案2】:

      你可以...

      String[][] board1 = new String[][] {
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
          {"-", "-", "-", "-", "-", "-", "-", "-", "-", "-"},
      };
      

      String[][] board1 = new String[10][10];
      for (int outter = 0; outter < board1.length; outter++) {
          String[] row = new String[board1[outter].length];
          for (int inner = 0; inner < row.length; inner++) {
              row[inner] = "-";
          }
          board1[outter] = row;
      }
      

      String[][] board1 = new String[10][10];
      for (int outter = 0; outter < board1.length; outter++) {
          for (int inner = 0; inner < board1[outter].length; inner++) {
              board1[outter][inner] = "-";
          }
      }
      

      【讨论】:

      • 其实我真的很想知道为什么first method 不能指定大小。真的不能,为什么? new long[2][2] { {1, 1}, {1, 0}}; 将失败。
      • @Hearen 真的从来没有想过,但我认为语言基本上只是说你要么提前告诉我,要么给我看
      • 这有点道理,但如果两者都提供仍然很奇怪,它会变成一个错误
      猜你喜欢
      • 2018-03-02
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多