不管是什么代码片断,我尝试,其中我在网上找(大多是从堆栈交换/溢出),我无法弄清楚如何转换(或“分配”)将一维数组的元素转换为二维数组。将Java一维数组为二维数组
String str = in.next(); // Read the incoming text file and store it as a string
char[] oneDcharArray = str.toCharArray(); // Convert the string into a 1D array
maze = new char[numberOfRows][numberOfColumns]; // Assign row/column size to 2D array
int count = 0;
for (row = 0; row < numberOfRows; row++)
{
for (column = 0; column < numberOfColumns; column++)
{
// Convert 1D array into 2D array
maze[row][column] = oneDcharArray[count]; // Error: ArrayIndexOutOfBoundsException
count++;
}
}
下面Jags的回答很好,但它并不完美。它打印:
Row 0: ++++++++++
Row 1: S+++++++++
Row 2: ++++++++++
Row 3: +++++ 0000 0000 0000 0000 0000
Row 0: ++++++++++
Row 1: OOOOOOOOOO
......
你怎么能保证你有足够的行容纳一维数组项? – dave
提示:使用调试器,并按照'count' VAR,看看它有多高去... –
什么是'numberOfRows','numberOfColumns',输入字符串的值和长度? – Rehman