0
public class Set {
    private int[] num;

    public Set(int ... nums){
        this.num = nums;
    }
    public int getSet(){

        for (int results : this.num){
            return results;
        }
    }

}

我写了这个类作为测试,看看尝试使用一种方法输出一个整数数组,但我遇到了麻烦

这是驱动程序:

public class SetTest {
public static void main(String[] args) {

    Set set = new Set();

    set.Set(1,2,3);

    set.getSet();

   }
   }

我不知道该怎么做,我也收到此错误“方法 IntegerSet(int, int, int) 未定义 Set 类型”

4

4 回答 4

2

您的类型似乎被称为Setnot IntegerSet,但即使我们假设这是set.IntegerSet(1,2,3);main 中下一行()上的错字,您也明确地调用了构造函数,而您永远不应该这样做。而是在构造时传递参数IntegerSet

IntegerSet set = new IntegerSet(1,2,3);
于 2013-02-14T08:45:53.887 回答
1

您定义了一个构造函数,如下所示

public Set(int ... nums){
        this.num = nums;
    }

要使用上面的构造函数创建一个新的 Set 实例,你想做

Set objSet = new Set(1,2,3);
objSet.getSet();

您的代码中的 IntegerSet 类似乎不存在,这使您的代码无效。

于 2013-02-14T08:45:44.757 回答
0

首先,如果您澄清与您提供IntegerSet的课程相反的内容,这将有所帮助。Set但是,您的问题是您试图调用构造函数,就好像它是一种方法一样。所以这是有效的:

IntegerSet set = new IntegerSet(1, 2, 3);

请注意,参数必须在创建类时传递给类——这是构造函数的定义。

于 2013-02-14T08:46:55.180 回答
0
public class Set {
private int[] num;

public Set(int a, int b, int c) {
    num = new int[] { a, b, c };
}

public void getSet() {

    for (int results : this.num) {
        System.out.println(results);
    }

}

}

你的 Set 类应该和上面一样。SetTest 应该如下所示。

public class SetTest {
public static void main(String[] args) {
    Set set = new Set(1, 2, 3);

    set.getSet();
}

}
于 2013-02-14T09:07:40.193 回答