我一直在试图创建一个类,它确定一个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