我正在写一个数独生成器。
static void change(int[][] x, int[][] y, int[][] z, int[][] w, int[][] u, int k) {
int a = r1.nextInt(9);
int b = r2.nextInt(2);
int c = r3.nextInt(2);
if (x[b][c] != 0 && vcheck(a, c, x, y, z) != false && hcheck(a, b, x, u, w) != false && tcheck(a, x) != false) {
x[b][c] = a;
k--;
} else change(x, y, z, w, u, k);
}
程序的这一部分是空白,它启动将随机生成的位置 (b,c) 上的表中的数字更改为值 a。抛出的错误是
Exception in thread "main" java.lang.StackOverflowError
at java.util.Random.nextInt(Random.java:307)
有人能告诉我我应该改变什么吗?