0

私は 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();
    }
}
4

3 に答える 3

3

数字を読む前に、リストの数字を合計しています。

したがって、次のようにループを移動します。

    //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);
    }
于 2013-01-10T20:47:07.343 に答える
1

リストではなく印刷sumOfしています。もちろん単数です。

また、合計する前に数字を読む必要があります。

于 2013-01-10T20:46:50.657 に答える
0

行ごとに読み、変数に適切な名前を付けます。ファイルから読み取った後、リストを反復処理して合計します。

 while (scanner.hasNextLine()) {
    String line = scanner.nextLine();
    System.out.println(line);
 }
于 2013-01-10T20:48:58.667 に答える