Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回arraylist错误_Java_Arrays_Arraylist - Fatal编程技术网

Java 返回arraylist错误

Java 返回arraylist错误,java,arrays,arraylist,Java,Arrays,Arraylist,我一直在尝试创建一个类来确定arraylist中的一组整数是否是另一个arraylist的子集 但是,每当我尝试编译时,我都会收到一条“错误:不兼容的类型:ArrayList无法转换为int”,并且似乎是“返回成员”导致了这一错误 有人能告诉我“返回会员”有什么问题吗?任何帮助都将不胜感激 // Define the Set class import java.util.ArrayList; class Set { private ArrayList<Integer>

我一直在尝试创建一个类来确定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;
    }
}
//定义集合类
导入java.util.ArrayList;
类集{
私人ArrayList成员;
公共集()
{
members=newarraylist();
}
public int getMembers()
{
返回成员;
}
公共成员()
{
这个.成员=成员;
}
//toString()方法
公共字符串toString()
{
返回“集合A是集合B的子集”;
}
//如果“this”是“set”的子集,则返回true,
//否则返回false。
公共布尔值IsubSet(集合)
{
for(int i=0;i
此方法是您的问题:

public int getMembers()
{
    return members;
}
返回类型错误,请将其更改为:

public ArrayList<Integer> getMembers()
{
    return members;
}
public ArrayList getMembers()
{
返回成员;
}
另外,您的setMembers()不做任何事情,将其自身设置为自身。应改为:

public void setMembers(ArrayList<Integer> newMembers)
{
    this.members = newMembers;
}
public void集合成员(ArrayList newMembers)
{
this.members=新成员;
}

您首先犯了错误。请在
getMenbers()
中更改返回类型。您正在返回一个对象类型,并将其指定为返回int(基元)。
典型方法只能返回指定的类型。希望有帮助

如果(!members.contains(this.members.get(i)),这是否是
您真正想要的?这永远不会是真的。如果第二个子集中不包含数字,我试图让程序返回false。为什么它永远不会是真的?因为你在处理同一个变量。检索
members
的元素,并检查
members
是否包含此元素。显然,它是这样的,否则您将无法获取元素。此外,不使用参数
set
。我想,
如果(!set.contains(members.get(I))
就是你要找的汉克斯!是的,我意识到这是一个变种人!