Сумма строки в клонированном TXT-файле - PullRequest
0 голосов
/ 01 марта 2020

Моя задача - создать пару методов, которые будут обрабатывать текстовый файл и возвращать правильный ввод. TXT-файл имеет две строки:

1 2 3 4 5
2 7 3 4 6

Мой вывод в обработанном новом TXT-файле должен выглядеть следующим образом:

 1+2+3+4+5=15
 2+7+3+4+6=22

Метод решения:

- simple file writter - done 
- readLinesFromFile and put it inside the List<String> - done 
- take the lines from List<String> and process them and copy propper output to new TXT file. - Not Done

Мой основной класс должен выглядеть так:

   public void process(String fileName, String resultFileName) throws IOException {
        List<String> linesFromFile = fileProcessor.readLinesFromFile(fileName);
        List<String> resultLines = new ArrayList<>();
        for (String line : linesFromFile) {
            resultLines.add(NumbersProcessor.processLine(line));
        }
        fileProcessor.writeLinesToFile(resultLines, resultFileName);
    }

Я застрял в методе, чтобы обработать resultLine, таким образом, фактический третий метод. Мне нужно взять список строк, обработать его и вставить вывод в новый файл. Если честно, я не знаю с чего начать.

Чтобы упростить это. У меня есть Список с этим:

[1 2 3 4 5, 2 7 3 4 6], и мне нужно иметь это:

1 + 2 + 3 + 4 + 5 = 15, 2 + 7 + 3 + 4 + 6 = 22 Итак, мне нужно вычислить внутренние строки в строке и получить от них СУММУ.

Ответы [ 2 ]

1 голос
/ 01 марта 2020

Чтобы упростить это. У меня есть список с этим:

[1 2 3 4 5, 2 7 3 4 6], и мне нужно иметь это:

1 + 2 + 3 + 4 + 5 = 15, 2 + 7 + 3 + 4 + 6 = 22 * ​​1006 *

Вы можете сделать это следующим образом:

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = List.of("1 2 3 4 5", "2 7 3 4 6");
        List<String> result = new ArrayList<String>();
        for (String s : list) {
            String[] nums = s.split("\\s+");
            int sum = 0;
            for (String n : nums) {
                sum += Integer.parseInt(n);
            }
            result.add(String.join(",", nums) + "=" + sum);
        }
        System.out.println(result);
    }
}

Выход:

[1,2,3,4,5=15, 2,7,3,4,6=22]
0 голосов
/ 01 марта 2020

Я думаю, вам нужно будет преобразовать в числовые значения c, чтобы получить вывод.

Попробуйте использовать .split ("") во входной строке. Это разделяет входную строку на массив строк, содержащих все значения.

Этот массив затем может быть зациклен на

a) снова соединены со знаками плюса

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

У меня нет IDE под рукой для реального кода, но я надеюсь, что это поможет найти начало.

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