/
mmarakayeva
/
lab4
Обзор
Документация
Войти
/
mmarakayeva
/
lab4
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/core/DataProcessor.java
86 строк
3 KB
Миленикс
first_commit
14 июн 2026, 18:29
14 июн 2026, 18:29
9dbfbcd
Код
Авторство
О чём код?
package core; import java.util.ArrayList; import java.util.List; /** * Ядро обработки данных * Содержит бизнес-логику, не зависит от UI */ public class DataProcessor { /** * Основной метод конвейерной обработки * @param input массив строк * @return массив обработанных строк */ public String[] processPipeline(String[] input) { // Шаг 1: Преобразуем строки в числа List<Double> numbers = convertToNumbers(input); // Шаг 2: Обрабатываем числа по варианту List<Double> processed = processData(numbers); // Шаг 3: Преобразуем обратно в строки return convertToStrings(processed); } /** * Обработка числовых данных * ВАРИАНТ: отфильтровать положительные числа и возвести их в квадрат * @param input список чисел * @return обработанный список */ private List<Double> processData(List<Double> input) { List<Double> result = new ArrayList<>(); for (Double number : input) { if (number > 0) { // Только положительные result.add(number * number); // Возводим в квадрат } } return result; } /** * Преобразование массива строк в список чисел * @param strings массив строк * @return список чисел (нечисловые значения пропускаются) */ private List<Double> convertToNumbers(String[] strings) { List<Double> numbers = new ArrayList<>(); for (String str : strings) { try { double value = Double.parseDouble(str.trim()); numbers.add(value); } catch (NumberFormatException e) { System.err.println("Предупреждение: пропущено нечисловое значение: '" + str + "'"); } } return numbers; } /** * Преобразование списка чисел в массив строк * @param numbers список чисел * @return массив строк */ private String[] convertToStrings(List<Double> numbers) { String[] result = new String[numbers.size()]; for (int i = 0; i < numbers.size(); i++) { double value = numbers.get(i); // Убираем .0 для целых чисел if (value == (long) value) { result[i] = String.valueOf((long) value); } else { result[i] = String.valueOf(value); } } return result; } }