我在打印用 ArrayList 声明的数组的值时遇到问题。 我正在使用增强的 for 来打印它的值,但是如果我想对它们求和怎么办?
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 = sum + numbers;
numbers 是您要迭代的数字的列表。
您的意思可能是:
sum = sum + y;
sum 是一个原始 int 变量。 +
运算符仅允许您在此处添加其他原始数值。您无法添加List<Integer>
为 int 值。
或者,您可以在此处使用 Java 8 流:
numbers.stream().mapToInt(Integer::intValue).sum();
也总结了列表中的所有值。
关于java - 如何使用普通的 For 循环打印动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52800561/