我还在学习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();
}
}
答案 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);