我得到了:
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数组? 请帮帮我.. :(
答案 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];
}
}