Добавление целых чисел из файла? - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь прочитать целые числа из файла, а затем добавить их к итогу, а затем dsplay итог.У меня есть этот код, но он застрял в блоке while и не был уверен, почему?Любая помощь будет оценена.

import java.io.*;
import java.util.Scanner;

public class HandlingExceptions {

int num;
int total = 0;

public HandlingExceptions () {
}

public void read () {
    FileReader fr;
    try {
        fr = new FileReader("integers.txt");
        BufferedReader br = new BufferedReader(fr);
        Scanner scan = new Scanner(br);
        try {
            num = br.read();
            while (scan.hasNextInt()) {
                total = total + num;
            }
            System.out.println("THE TOTAL OF THE VALUES IS: " + total);
        } catch (IOException e) {
            e.printStackTrace();
        }
        scan.close();
    } catch (FileNotFoundException e) {
        System.err.println("<<FILE NOT FOUND>>");
        e.printStackTrace();
    }
}

    public static void main (String args[]) {
        HandlingExceptions method = new HandlingExceptions();
        method.read();
    }
}

1 Ответ

0 голосов
/ 05 декабря 2018

Это будет зависеть от формата вашего integers.txt файла, но если числа разделены пробелами:

try (BufferedReader reader = Files.newBufferedReader(Path.of("integers.txt"))) {
    int total = reader.lines()
            .flatMap(l -> Arrays.stream(l.split("\\s+")))
            .filter(s -> !s.isEmpty())
            .mapToInt(Integer::parseInt)
            .sum();
    System.out.println(total);
}

Обратите внимание, что добавление натуральных чисел вместе быстрее или позже приведет к целочисленное переполнение .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...