我一直在試圖創建一個類,它確定一個arraylist中的一組整數是否是另一個arraylist的一個子集。返回arraylist錯誤
但是,每當我嘗試編譯並顯示「返回成員」導致它時,我收到一個「錯誤:不兼容的類型:ArrayList不能轉換爲int」。
有人能告訴我什麼是「退貨成員」的錯?任何幫助將不勝感激。
// Define the Set class
import java.util.ArrayList;
class Set {
private ArrayList<Integer> members;
public Set()
{
members = new ArrayList<Integer>();
}
public int getMembers()
{
return members;
}
public void setMembers()
{
this.members = members;
}
// toString() method
public String toString()
{
return "Set A is a subset of set B.";
}
// Return true if 'this' is a subset of 'set',
// otherwise return false.
public boolean isSubset(Set set)
{
for(int i = 0; i < this.members.size(); i++)
if(!members.contains(this.members.get(i)))
return false;
return true;
}
}
這是'if(!members.contains(this.members.get(i)))'真的你想要什麼?它永遠不會是真的。你也應該在你的循環中使用括號。 – user
我試圖讓程序返回false,如果數字不包含在第二個子集中。爲什麼它永遠不會是真的? –
因爲你正在處理同一個變量。你檢索一個'members'元素並檢查'members'是否包含這個元素。很顯然,否則你將無法獲得元素。另外參數'set'不被使用。我認爲'if(!set.contains(members.get(i)))'是你正在尋找的 – user