java - 错误不兼容类型:意外返回值 - 遍历列表

问题描述 投票:0回答:3

我被要求编写代码,显示数字列表中整数的总和。我将使用已经为我声明的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);

    }
}
java compiler-errors void
3个回答
0
投票

删除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);

    }
}

1
投票

删除返回行:

for (int i = 0; i < numbers.size(); i++) {
    sum += numbers.get(i);
//  return sum;
}

你的主要回归类型void,你返回一个int


0
投票

你不能为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和其他静态方法调用此方法。

© www.soinside.com 2019 - 2024. All rights reserved.