【发布时间】:2013-01-22 18:39:16
【问题描述】:
我一直在尝试编写这段代码,但我无法弄清楚我的嵌套 for 循环有什么问题。我认为我的 if 语句可能有问题,但我不确定。该代码应该搜索十张随机扑克牌以找到任何重复。我知道其余的代码正在工作,但我无法弄清楚我在这部分做错了什么。如果有人可以提供帮助,我将不胜感激。 (Java)
/*
* Return true if there is a duplicate card in the pack
*/
public boolean hasDuplicate() {
for (int i = 0; i < pack.size(); i++){
for (int j = i; j < pack.size(); j++) {
if (i != j && pack.get(i).equals(pack.get(j))){
pos = i;
return true;
}
}
}
return false;
}
【问题讨论】:
-
对我来说似乎没问题。它到底是怎么不工作的?
pack是什么? -
您是否在列表中的任何内容上覆盖了
.equals()? -
@RohitJain,pack 是它正在搜索的数组列表。它不像我测试它时那样工作,答案总是错误的。
-
@Kevin.. 这有什么关系?
-
我打赌你不会覆盖
Card中的等于
标签: java if-statement for-loop arraylist duplicates