我有一个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);
    }

07-22 11:54