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

时间:2019-03-20 18:06:28

标签: java compiler-errors void

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

    }
}

3 个答案:

答案 0 :(得分:1)

删除返回行:

void

您的主体具有返回类型int,而您正在返回index.js

答案 1 :(得分:0)

您不能为main()方法设置返回类型。它应该是无效的。 您可以创建新的静态方法

public static giveMeSumOfList(List<Integer> list){
int sum = 0; 
for (int i = 0; i < list.size(); i++) {
          sum += numbers.get(i);
          return sum;
        }

可以从主要和其他静态方法中调用此方法。

答案 2 :(得分:0)

删除string selstatus = "select count(1) from Status where c_email=@c_email"; SqlCommand cmd = new SqlCommand(selstatus, con); cmd.Parameters.AddWithValue("@c_email", Session["user"].ToString()); var count = cmd.ExecuteScalar(); // if count=0 the email doesnt exist 周围的打印并删除System.out.println(sum)

return sum