如何使用普通的For循环打印动态数组

时间:2018-10-14 07:45:22

标签: java arraylist

我在打印用ArrayList声明的数组的值时遇到麻烦。 我正在使用附魔来打印其值,但是如果我想对它们求和呢?

import java.util.ArrayList;

import java.util.Scanner;

public class Program
{

public static void main(String[] args){

    int sum = 0;
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    Scanner input = new Scanner(System.in);
    int x = input.nextInt();

    while (x != -1){
        numbers.add(x);//xonoyme ta stoixeia ston numbers

        x = input.nextInt();
    }

    for (int y: numbers){
        sum = sum + numbers;
        System.out.print(y + " ");
    }
    System.out.print("to athroisma einai: " + sum);
}

}

错误在命令中  sum =和+数字;

1 个答案:

答案 0 :(得分:1)

这里:

sum = sum + numbers;

数字是您要迭代的数字的列表

您可能是说:

sum = sum + y;

sum 是一个基本的int变量。 +运算符仅允许您在此处添加其他原始数值。您不能将List<Integer>添加到int值。

或者,您可以在此处使用Java 8流:

numbers.stream().mapToInt(Integer::intValue).sum();

也汇总列表中的所有值。