我有一个ArrayList,我希望它读入并合计文件中的数字,但它仅输出文件中的最后一个数字,它们都在不同的行上等。
Here is my code, thanks in advance:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListOfNumbers {
public static void main(String[] args) throws FileNotFoundException {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
Scanner Scan = new Scanner (new File("numbers.txt"));
int sumOf = 0;
for(int i=0; i < list.size(); i++){
sumOf = sumOf + list.get(i);
}
//while scanning add sum to ArrayList List
while (Scan.hasNext())
{
sumOf = Scan.nextInt();
list.add(sumOf);
}
//print the array list
System.out.println(sumOf);
Scan.close();
}
}
最佳答案
在阅读数字之前,您要对列表中的数字求和。
因此,像这样移动循环:
//while scanning add sum to ArrayList List
while (Scan.hasNext())
{
int number = Scan.nextInt();
list.add(number);
}
int sumOf = 0;
for(int i=0; i < list.size(); i++){
sumOf = sumOf + list.get(i);
}