我做數字的ArrayList,適當循環,即使應該返回false
private ArrayList<Integer> numbers = new ArrayList();
,我要檢查,如果他們都是獨一無二返回true。所以我有這樣的代碼:
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
。
這裏我的邏輯有什麼問題?
http://stackoverflow.com/questions/562894/java-detect-duplicates-in-arraylist –
的可能的複製是'i'實際上要覈對數量是否在列表中'numbers' ? 'I'將會是1,2,3,4 ......以數字的大小,而不是'數字'本身的值。 –
@ben_w它是。我必須輸入一個方形數(n)的整數輸入,從1到n是唯一的。 – novalsi