【发布时间】:2014-09-07 23:48:35
【问题描述】:
我最近开始制作数独求解器。求解器本身已经完成并且效果很好,但我发现了一个问题。我的求解器基于存储数独游戏板编号的二维数组。 数组长这样......
12 代表需要数字的空格。
private static int[][] currentPuzzle = new int[][] {
{ 12, 12, 6, 12, 12, 12, 12, 12, 12 },
{ 12, 12, 12, 12, 3, 6, 5, 12, 12 },
{ 2, 3, 8, 12, 12, 4, 12, 12, 12 },
{ 8, 7, 12, 12, 12, 12, 12, 12, 5 },
{ 12, 12, 3, 12, 9, 12, 2, 12, 12 },
{ 4, 12, 12, 12, 12, 12, 12, 6, 8 },
{ 12, 12, 12, 4, 12, 12, 8, 1, 9 },
{ 12, 12, 9, 3, 7, 12, 12, 12, 12 },
{ 12, 12, 12, 12, 12, 12, 6, 12, 12 } };
问题是我的程序使用反射 java api 从游戏中读取数独板整数。该方法将数独板作为一维数组返回,如下所示....
12 代表需要数字的空格。
private static int[] currentPuzzle = new int[] { 12, 12, 6, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 3, 6, 5, 12, 12, 2, 3, 8, 12, 12, 4, 12,
12, 12, 8, 7, 12, 12, 12, 12, 12, 12, 5, 12, 12, 3, 12, 9, 12, 2,
12, 12, 4, 12, 12, 12, 12, 12, 12, 6, 8, 12, 12, 12, 4, 12, 12, 8,
1, 9, 12, 12, 9, 3, 7, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6,
12, 12 };
我需要将板子的一维数组版本(上面显示的第二个数组)转换成二维数组版本(上面显示的第一个数组)格式。新的二维数组必须有 9 行 9 列。
你们有什么想法吗?
【问题讨论】:
标签: java arrays multidimensional-array