【发布时间】:2012-01-14 06:31:11
【问题描述】:
我正在适当地制作一个数字数组列表
private ArrayList<Integer> numbers = new ArrayList();
我必须检查它们是否都是独一无二的。所以我有这个代码:
public boolean isUnique()
{
ArrayList<Integer> checkNumbers = new ArrayList();
for(int i = 1; i<=numbers.size(); i++)
{
if(numbers.contains(i) && !checkNumbers.contains(i))
{
checkNumbers.add(i);
return true;
}
}
return false;
}
我的想法是,我必须接受一个平方数 (n) 的整数输入,这在 1 to n 中是唯一的。
但无论我向数字 (13 2 13 2) 添加什么,它总是返回 true。
我的逻辑有什么问题?
【问题讨论】:
-
i是不是你要查的号码在numbers列表中?i将是 1,2,3,4... 的数字大小,而不是numbers本身的值。 -
@ben_w 是。我必须接受整数输入的平方数 (n),从 1 到 n 是唯一的。
-
@novalsi 请使用这些附加详细信息编辑您的问题,以便人们在需要时更改他们的回答
-
@BeauGrantham 刚刚做到了。在底部。谢谢。
标签: java for-loop boolean return