我被要求编写代码,显示数字列表中整数的总和。我将使用已经为我声明的total变量并使用for循环来遍历列表的元素。
问题是我一直得到错误不兼容的类型:意外返回值。当我尝试将main方法中的void更改为int时,我得到错误'此处不允许使用void类型'。有想法该怎么解决这个吗?
import java.util.ArrayList;
public class ArrayListTestProgram {
public static void main(String args[]) {
int total = 0;
ArrayList<Integer> numbers;
numbers = new ArrayList<Integer>();
numbers.add(1);
numbers.add(45);
numbers.add(23);
numbers.add(87);
numbers.add(89);
numbers.add(213);
System.out.println("The ArrayList looks like this: " + numbers);
System.out.println("It has " + numbers.size() + " elements in it");
System.out.println("The 5th element in it is: " + numbers.get(4));
int sum = 0;
for (int i = 0; i < numbers.size(); i++) {
sum += numbers.get(i);
return sum;
}
System.out.println(sum);
}
}
删除System.out.println(sum)
周围的打印并删除return sum
import java.util.ArrayList;
public class ArrayListTestProgram {
public static void main(String args[]) {
int total = 0;
ArrayList<Integer> numbers;
numbers = new ArrayList<Integer>();
numbers.add(1);
numbers.add(45);
numbers.add(23);
numbers.add(87);
numbers.add(89);
numbers.add(213);
System.out.println("The ArrayList looks like this: " + numbers);
System.out.println("It has " + numbers.size() + " elements in it");
System.out.println("The 5th element in it is: " + numbers.get(4));
int sum = 0;
for (int i = 0; i < numbers.size(); i++) {
sum += numbers.get(i);
}
System.out.println(sum);
}
}
删除返回行:
for (int i = 0; i < numbers.size(); i++) {
sum += numbers.get(i);
// return sum;
}
你的主要回归类型void
,你返回一个int
。
你不能为main()metod设置返回类型。它应该是无效的。您可以创建新的静态metod
public static giveMeSumOfList(List<Integer> list){
int sum = 0;
for (int i = 0; i < list.size(); i++) {
sum += numbers.get(i);
return sum;
}
之后可以从main和其他静态方法调用此方法。