Как суммировать числа в группах по 2 в Java из файла CSV? - PullRequest
0 голосов
/ 30 апреля 2020

Итак, у меня есть файл CSV, который имеет 2 строки и много столбцов. И числа в каждом ряду отделяются друг от друга запятой. И у меня есть суммы суммы в каждом ряду. Например, если CSV похож на это;

1,2 
3,6
2,5

Результат должен быть:

3
9
7

Так что я попробовал и сделал чтение части. Я могу читать числа по одному без запятых и сделал это с помощью useDelimiter (","); Вот так:

import java.io.*;

public class Read {

    public static void main(String[] args) {
        File numbers = new File("numberss.csv");
        FileInputStream input = null;
        Scanner reader = null;

        try{
            input = new FileInputStream(numbers);
            reader = new Scanner(input).useDelimiter(",");

            while(reader.hasNext()) {
                System.out.println(reader.next());
            }

        }
        catch (FileNotFoundException e){
            System.err.println(e.getMessage());
        }
    }   
}

и я получаю что-то вроде

1
2
3
6
2
5

Так как я могу сложить их в группы по 2 и выписать их?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Просто прочитайте строку, затем разделите и затем конвертируйте в целое число. Вот и все

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

    public class Read {
        public static void main(String[] args) {
            try {
                File myObj = new File("numberss.csv");
                Scanner myReader = new Scanner(myObj);
                while (myReader.hasNextLine()) {
                    String data = myReader.nextLine();
                    String [] splittedStr = data.split(",");
                    System.out.println(Integer.parseInt(splittedStr[0]) + Integer.parseInt(splittedStr[1]));
                }
                myReader.close();
            } catch (

            FileNotFoundException e) {
                System.out.println("An error occurred.");
                e.printStackTrace();
            }
        }
    }
0 голосов
/ 30 апреля 2020

Вы можете читать построчно и разделять запятыми, а затем суммой

import java.io.*;

public class Read {

    public static void main(String[] args) {
        File numbers = new File("numberss.csv");
        FileInputStream input = null;
        Scanner reader = null;

        try{
            input = new FileInputStream(numbers);
            reader = new Scanner(input);
            String line = reader.nextLine();
            while(line.hasNext()) {
                String[] split = line.split(",");
                System.out.println(Integer.parseInt(split[0])+Integer.parseInt(split[1]));
            }

        }
        catch (FileNotFoundException e){
            System.err.println(e.getMessage());
        }
    }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...