【问题标题】:convert 1-d String array to 2-d char array?将一维字符串数组转换为二维字符数组?
【发布时间】:2013-03-28 13:57:24
【问题描述】:

我得到了:

    static String[] initStrings =
{
    "...../...\\",
    "..\\.......",
    "......./..",
    "..........",
    "........\\.",
    "..........",
    "..........",
    ".....\\../.",
    "..\\....../",
    ".........."
};

还有这样的:

    static char[][] squares = 
{

};

现在,我需要编写一个方法,将每个 initStrings 字符串中的每个字符复制到 squares 数组中。 到目前为止,我有这个:

    public static void initialize()
{
    int lengR = initStrings.length;
    int lengC = initStrings[0].length();
    squares = new char[lengR][lengC];
    for(int i=0; i<lengR;i++)
    {
        squares[i] = initStrings[i].toCharArray();
    }
}

我对此很陌生,我很确定我的 for 循环是错误的。到目前为止我没有看到任何错误,但我只是不明白我的初始化方法是如何工作的。如何将一维字符串数组转换为二维字符数组? 请帮帮我.. :(

【问题讨论】:

    标签: java arrays char converter type-2-dimension


    【解决方案1】:

    您的for 循环没有任何问题:Java 中的二维数组是一维数组的一维数组;字符串的toCharArray 返回这些一维数组之一。您的for 循环将它们组合成一个数组数组,因此结果是一个二维数组。

    【讨论】:

      【解决方案2】:

      您也可以使用 2 个 for 循环来处理正方形中的每个条目:

      for (int i=0; i<lengR; i++) {
          for (int k=0; k<lengL; k++) {
              squares[i][k]=initStrings[i].charAt[k];
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-21
        • 1970-01-01
        相关资源
        最近更新 更多