我一直在尝试创建一个类来确定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;
}
}
答案 0 :(得分:0)
这个方法是你的问题:
public int getMembers()
{
return members;
}
错误的返回类型,请将其更改为:
public ArrayList<Integer> getMembers()
{
return members;
}
你的setMembers()也没有做任何事情,把它自己设置为自己。它应该改为:
public void setMembers(ArrayList<Integer> newMembers)
{
this.members = newMembers;
}
答案 1 :(得分:0)
你在第一名犯了错误。在getMenbers()
中改变了返回类型。您正在返回一个Object类型,并指定它返回一个int(原始)。
典型的方法只能返回指定的类型。希望它有所帮助