1

我得到:

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

4

2 回答 2

2

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

于 2013-04-06T01:29:04.017 回答
0

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

for (int i=0; i<lengR; i++) {
    for (int k=0; k<lengL; k++) {
        squares[i][k]=initStrings[i].charAt[k];
    }
}
于 2013-04-06T01:59:06.590 回答