帮我续写Seirvers ask i.aw 40 e41e public statie boolean Dis(int[1[l arr, int row, int col, int num)( 42 for(inti=0;i<9;i++)( 43 if (arr[row][i] =m num) ( return false; //判断同行是否有重复数字 for (inti=0;i<9;i++){ if(arr[i][col]m num) { return false; )//判断同列是否有重复数字 int Rowm row-row3; int Col m col-co1 3; for (intim0;i<3; i++) { for (intj=0;j< 3;j++)( if(arr[Row+i][Col+j] num) ( return false; )// 判断n*n中是否有重复数字 return true; public static void Remove(int[][] arr, Random random) ( for (inti=0;i<m;i++)( int rowm random.nextInt(9); int col m random.nextInt(9); arr[row][col]= 0; 1//随机挖空 public static void printsudo(int(l[] arr) (
时间: 2024-04-17 16:25:42 浏览: 70
我可以帮你续写,这是你给出的代码段的续写部分:
```java
// 判断同行是否有重复数字
for (int i = 0; i < 9; i++) {
if (arr[row][i] == num) {
return false;
}
}
// 判断同列是否有重复数字
for (int i = 0; i < 9; i++) {
if (arr[i][col] == num) {
return false;
}
}
// 判断同宫格是否有重复数字
int startRow = row - row % 3;
int startCol = col - col % 3;
for (int i = startRow; i < startRow + 3; i++) {
for (int j = startCol; j < startCol + 3; j++) {
if (arr[i][j] == num) {
return false;
}
}
}
return true;
}
public static void Remove(int[][] arr, Random random) {
for (int i = 0; i < 40; i++) {
int row = random.nextInt(9);
int col = random.nextInt(9);
arr[row][col] = 0;
}
}
public static void printsudo(int[][] arr) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
```
这部分代码添加了 `Remove` 方法,用于移除部分格子使其为空缺格子,并且添加了 `printsudo` 方法,用于打印数独矩阵。接下来你可以继续编写其他部分的代码。
阅读全文