gpt4 book ai didi

java - 数独 - java。我想看看我的行是否完整。不能有重复的数字

转载 作者:行者123 更新时间:2023-12-01 23:32:51 24 4
gpt4 key购买 nike

我已经研究这段代码有一段时间了,但我被这段代码困住了。我不确定我做错了什么。如果有人能指出我正确的方向

这是我需要编码的内容,后面是它下面的代码:

 /**
* This method determines whether the ints 1-9 are present exactly
* once in each column. Sets valSeen[i] = 1 if it sees i. If at any
* point valSeen[i] is already 1, the rows are not complete because of
* duplicate entries.
*
* If game[x][y] == -1, there is a blank entry so the row cannot be complete.
*
* @param valSeen: an array of ints that serve as flags to indicate whether
* their entry has been seen before or not.
*
* returns: true if each digit 1-9 is present in the column exactly once, else false
**/

public boolean rowsComplete(int[] valSeen)
{
// Write the appropriate nested loops to check the rows.
int temp = 0;
boolean val = false;
for(int i = 0; i < SIZE; i++) { //row [i]
for(int j = 0; j < SIZE; j++) { //columns [j]

temp = game[i][j];

if( temp != -1) { //make sure the index of the row is not empty

if(valSeen[temp] != 1) { //make sure the number was not previously

valSeen[temp] = 1;
val = true;
}

else {
val = false;
}

}

else
val = false;

}

setZero(valSeen); //sets all the indexes of valseen to zero aFter each row

}


// Remember to reset valSeen to 0 after each row.

return val; // Change this, placeholder so your code will compile
}

最佳答案

正如另一个答案中所指出的,由于 java 的从零开始的索引,您的标志数组的索引可能是错误的。

但是代码本身还存在其他问题。

如果最后一行有效,您的方法将根据其有效性返回 true,无论之前是否看到过无效行。

您最好在循环之前将结果设置为 true,根据需要将其更改为 false,并且永远再次将其设置为 true。

关于java - 数独 - java。我想看看我的行是否完整。不能有重复的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19082366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com