/
merzlikina88
/
Hash
Обзор
Документация
Войти
/
merzlikina88
/
Hash
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
DeliveryService.java
67 строк
3 KB
merzlikina88
upload files
25 дек 2025, 14:39
25 дек 2025, 14:39
1259403
Код
Авторство
О чём код?
import java.util.Scanner; import java.util.Map; import java.util.Set; import java.util.HashMap; import java.util.HashSet; public class DeliveryService { public static void main(String[] args) { Map<Address, Double> costPerAddress = new HashMap<>(); costPerAddress.put(new Address("Россия", "Воронеж"), 200.0); costPerAddress.put(new Address("Россия", "Москва"), 300.0); costPerAddress.put(new Address("США", "Нью-Йорк"), 1500.0); costPerAddress.put(new Address("Германия", "Берлин"), 1200.0); costPerAddress.put(new Address("Япония", "Токио"), 2000.0); costPerAddress.put(new Address("Франция", "Париж"), 1800.0); double totalCost = 0.0; Set<String> uniqueCountries = new HashSet<>(); Scanner scanner = new Scanner(System.in); System.out.println("Сервис доставки товаров по миру"); System.out.println("Для завершения введите 'end'"); while (true) { System.out.println("\nЗаполнение нового заказа."); System.out.print("Введите страну: "); String country = scanner.nextLine().trim(); if (country.equalsIgnoreCase("end")) { break; } System.out.print("Введите город: "); String city = scanner.nextLine().trim(); System.out.print("Введите вес (кг): "); double weight; try { weight = Double.parseDouble(scanner.nextLine().trim()); } catch (NumberFormatException e) { System.out.println("Некорректный вес. Введите число."); continue; } Address address = new Address(country, city); Double costPerKg = costPerAddress.get(address); if (costPerKg == null) { System.out.println("Доставки по этому адресу нет"); continue; } double deliveryCost = costPerKg * weight; totalCost += deliveryCost; uniqueCountries.add(country); System.out.printf("Стоимость доставки составит: %.0f руб.%n", deliveryCost); System.out.printf("Общая стоимость всех доставок: %.0f руб.%n", totalCost); System.out.printf("Количество уникальных стран с доставками: %d%n", uniqueCountries.size()); } System.out.println("\nРабота сервиса завершена."); System.out.printf("Итоговая общая стоимость всех доставок: %.0f руб.%n", totalCost); System.out.printf("Количество уникальных стран, куда были оформлены доставки: %d%n", uniqueCountries.size()); } }