/
DevDenzo
/
BusManager
Обзор
Документация
Войти
/
DevDenzo
/
BusManager
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/BusManager.java
59 строк
3 KB
Denis Sklyarskij
вызываем стратегию обработки json файла
27 дек 2025, 14:42
27 дек 2025, 14:42
76d4e10
Код
Авторство
О чём код?
import model.Bus; import service.BusInputContext; import strategy.JsonFileBusInputStrategy; import strategy.ManualBusInputStrategy; import strategy.RandomBusInputStrategy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; public class BusManager { public static void main(String[] args) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BusInputContext context = new BusInputContext(); ManualBusInputStrategy manualBusInputStrategy = new ManualBusInputStrategy(bufferedReader); RandomBusInputStrategy randomBusInputStrategy = new RandomBusInputStrategy(bufferedReader); JsonFileBusInputStrategy jsonFileBusInputStrategy = new JsonFileBusInputStrategy("bus_input.json"); try { System.out.println("Выберите способ ввода автобусов: "); System.out.println("1 - Ручной ввод"); System.out.println("2 - Случайная генерация"); System.out.println("3 - Загрузка данных из файла"); System.out.print("Выберите предпочитаемый способ генерации автобусов: "); var choice = bufferedReader.readLine(); switch (choice) { case "1" -> context.setStrategy(manualBusInputStrategy); case "2" -> context.setStrategy(randomBusInputStrategy); case "3" -> context.setStrategy(jsonFileBusInputStrategy); default ->System.out.println("Выбран неверный способ ввода. Завершение работы..."); } List<Bus> buses = context.executeStrategy(); for (int i = 0; i < buses.size(); i++) { Bus bus = buses.get(i); System.out.printf( "Автобус №%d: %s (%s), пробег %d км%n", i + 1, bus.getNumber(), bus.getModel(), bus.getMileage() ); } } catch (IOException e) { System.out.println("Ошибка при выборе способа ввода: " + e.getMessage()); } finally { try { bufferedReader.close(); } catch (IOException e) { System.err.println("Ошибка при закрытии потока: " + e.getMessage()); } } } }