将1d String数组转换为2d char数组?

时间:2013-04-06 01:24:08

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

我得到了:

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

等等:

    static char[][] squares = 
{

};

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

    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循环是错误的。到目前为止我没有看到任何错误,但我只是不明白我的初始化方法是如何工作的。如何将1维String数组转换为2维Char数组? 请帮帮我.. :(

2 个答案:

答案 0 :(得分:2)

你的for循环没有错:Java中的2D数组是一维数组的一维数组; String的toCharArray返回这些1D数组中的一个。您的for循环将它们组合成一个数组数组,因此结果是一个2D数组。

答案 1 :(得分:0)

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

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