Java - 如何从Java中的main()方法调用此方法

时间:2017-11-13 07:16:23

标签: java list

我还在学习Java,并希望得到一些当前问题的帮助:我试图从main()方法调用这个静态方法,但是我尝试的所有内容都会出现错误消息。谢谢你的帮助。

这是我的代码:

public class Statistics {

    static double avgFor(List<Integer> list) {

        list.add(10);
        list.add(20);
        list.add(30);
        list.add(40);
        list.add(50);
        list.add(60);

        int max = list.get(0);

        for (int i : list) {
            max = max < i ? max : i;
        }

        return max;



    }

    public static void main(String[] args) {

        avgFor();

    }

}

3 个答案:

答案 0 :(得分:5)

将列表创建和填充移动到main方法,然后将其传递到:

public static void main(String[] args) {
    List<Integer> list = new ArrayList<>(); // create the list
    list.add(10); // populate it
    list.add(20);
    list.add(30);
    list.add(40);
    list.add(50);
    list.add(60);

    avgFor(list); // pass the list to your method
}

并从add()方法移除对avgFor()的调用:

static double avgFor(List<Integer> list) {
    int max = list.get(0);

    for (int i : list) {
        max = max < i ? max : i;
    }

    return max;
}

请注意,您已经重新发明了轮子:

int max = Collections.max(list);

答案 1 :(得分:4)

您的方法将List作为参数。如果不提供参数,则无法调用该方法。

List<Integer> myList = new ArrayList<>();
avgFor(myList);

答案 2 :(得分:2)

你的方法有一个参数,所以当你调用它时你必须传递参数的参数

List<Integer> intList = new ArrayList<>();

    avgFor(intList);