Java数组到多维

时间:2010-10-20 20:05:17

标签: java arrays

是否可以采用100个字符数组并将其转换为10 * 10的2d数组?

2 个答案:

答案 0 :(得分:3)

你去吧

char[] chars = ("01234567890123456789012345678901234567890123456789" + 
                "01234567890123456789012345678901234567890123456789")
                .toCharArray();

char[][] char2D = new char[10][10];

for (int i = 0; i < 100; i++)
    char2D[i / 10][i % 10] = chars[i];

现在这段代码......

System.out.println(Arrays.deepToString(char2D).replaceAll("],","],\n"));

...打印以下内容

[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]

答案 1 :(得分:1)

在整个100个字符列表中迭代并将其划分为10 * 10, 模数(%)可能非常有用。

您可以使用2个嵌套for循环将数组的字符分配给相应的元素。