Java 检查数独中的重复行
当我试图检查数独的行中是否有重复的元素时,结果没有返回任何内容。不知道代码是否正确。如果在一行中找到重复元素,则需要打印找到的重复元素。使用方法Java 检查数独中的重复行,java,sudoku,Java,Sudoku,当我试图检查数独的行中是否有重复的元素时,结果没有返回任何内容。不知道代码是否正确。如果在一行中找到重复元素,则需要打印找到的重复元素。使用方法checkRow()帮助我找到解决方案 公共级数独{ 公共静态void main(字符串…参数)引发异常 { 扫描仪=新的扫描仪(System.in); int[]sudokuPuzzle={ {8, 1, 0, 0, 0, 0, 0, 3, 9}, {0, 0, 0, 9, 0, 1, 0, 0, 0},
checkRow()
帮助我找到解决方案
公共级数独{
公共静态void main(字符串…参数)引发异常
{
扫描仪=新的扫描仪(System.in);
int[]sudokuPuzzle={
{8, 1, 0, 0, 0, 0, 0, 3, 9},
{0, 0, 0, 9, 0, 1, 0, 0, 0},
{3, 0, 5, 0, 0, 0, 4, 0, 1},
{0, 0, 9, 8, 0, 2, 7, 0, 0},
{0, 0, 0, 5, 0, 6, 0, 0, 0},
{0, 0, 4, 3, 0, 7, 1, 0, 0},
{1, 0, 8, 0, 0, 0, 9, 0, 2},
{0, 0, 0, 6, 0, 4, 0, 0, 0},
{2, 4, 0, 0, 0, 0, 0, 6, 5}
};
打印数独游戏;
int count=countCellsToFill(sudokuPuzzle);
System.out.println(“必须填充的单元格数:“+计数”);
}
公共静态虚空打印数独(int[][]数独拼图)
{
for(int i=0;i
修改了checkRow方法以检查重复项-
public boolean checkRow(int[] sudokuPuzzle) {
for (int row = 0; row < sudokuPuzzle.length; row++) {
for (int i = 0; i < sudokuPuzzle.length; i++) {
if (i == row) {
continue;
}
if (sudokuPuzzle[i] == sudokuPuzzle[row]) {
return true;
}
}
}
return false;
}
公共布尔校验行(int[]sudokuPuzzle){
for(int row=0;row
修改了checkRow方法以检查重复项-
public boolean checkRow(int[] sudokuPuzzle) {
for (int row = 0; row < sudokuPuzzle.length; row++) {
for (int i = 0; i < sudokuPuzzle.length; i++) {
if (i == row) {
continue;
}
if (sudokuPuzzle[i] == sudokuPuzzle[row]) {
return true;
}
}
}
return false;
}
公共布尔校验行(int[]sudokuPuzzle){
for(int row=0;row
花点时间阅读您的代码:
public boolean checkRow(int[] sudokuPuzzle){
for (int row = 0; row < sudokuPuzzle.length; row++)
{
int num = sudokuPuzzle[row];
if (num == sudokuPuzzle[row])
{
return true;
}
}
return false;
}
公共布尔校验行(int[]sudokuPuzzle){
for(int row=0;row
在这里,您要做的是拾取第一个数字,在本例中为“8”,因为它位于您的位置“0”。然后,你检查“8”是否在你的位置“0”上,当然,这总是正确的
如果你想检查每行的数字,我建议你分析一下,也许,一个双人的。所以你可以写9行,每行9个数字,记住不要把你刚读到的数字和他自己比较
顺便说一句,如果你在玩数独游戏,你应该检查这个数字是否也出现在第一个方块中。Sodukus由9个正方形组成,您不能在行、列或正方形中重复数字
这是一个容易的问题,努力一点 花点时间阅读您的代码:
public boolean checkRow(int[] sudokuPuzzle){
for (int row = 0; row < sudokuPuzzle.length; row++)
{
int num = sudokuPuzzle[row];
if (num == sudokuPuzzle[row])
{
return true;
}
}
return false;
}
公共布尔校验行(int[]sudokuPuzzle){
for(int row=0;row
在这里,您要做的是拾取第一个数字,在本例中为“8”,因为它位于您的位置“0”。然后,你检查“8”是否在你的位置“0”上,当然,这总是正确的
如果你想检查每行的数字,我建议你分析一下,也许,一个双人的。所以你可以写9行,每行9个数字,记住不要把你刚读到的数字和他自己比较
顺便说一句,如果你在玩数独游戏,你应该检查这个数字是否也出现在第一个方块中。Sodukus由9个正方形组成,您不能在行、列或正方形中重复数字
这是一个容易的问题,努力一点 请正确格式化和缩进代码。未插入的代码几乎无法读取,并告诉我们哪段代码出错了。您尝试了什么,以及results.error在checkRow()方法中的位置。没有可用于此的输出。
int num=sudokuPuzzle[row];如果(num==sudokuPuzzle[row])
这将始终是truePS:您不应该选中0
,因为这是您的默认值/空值,除非您希望将其作为副本返回,请正确格式化并缩进代码。未插入的代码几乎无法读取,并告诉我们哪段代码出错了。您尝试了什么,以及results.error在checkRow()方法中的位置。没有可用于此的输出。int num=sudokuPuzzle[row];如果(num==sudokuPuzzle[row])
这将始终是truePS:您不应该选中0
,因为这是您的默认值/空值