在2x2数组中查找重复的数字。(爪哇)
我是一名编程新手,有人要求我用java创建一个程序,读取数独网格中的数字,并确保列和行中没有重复的数字,这就是我目前所拥有的:
int e=0;
int h=0;
boolean k = true;
int sd = 0;
for (int i=0; i< 9; i++){
for (int j=i+1; j< 9; j++){
if (sudoku[j][0]==sudoku[i][0]){
k=false;
}
}
}
for (int i=0; i< 9; i++){
for (int j=i+1; j< 9; j++){
if (sudoku[0][j]==sudoku[0][i]){
k = false;
}
}
}
if ( k){
System.out.println("Valid sudoku");
}
else if ( !k){
System.out.println("Not a valid sudoku");
}
}
我的代码没有按它应该的方式工作,因为它总是显示有效的数独,即使它不应该显示,我想知道如何修复这个问题。 在此之前,我感谢您对我的任何帮助。(我的想法是把它当作1x1数独来扫描,但要加上0,所以每次扫描都从第0列和第0行开始)
# 1 楼答案
在你阅读这段代码之前,我只建议你有更优雅的解决方案来解决你的问题。我写这段代码是为了参考你的代码
在这段代码中,
testColumn()
和testRow()
是两种方法,它们的工作只是检查这个行/列中是否存在一个数字(作为参数传递给这些函数)顺便说一句,我还没有编译这段代码。如果有任何编译时错误,我提前道歉。我欢迎任何建议或编辑建议