/
msigin77
/
Home_work12_1
Обзор
Документация
Войти
/
msigin77
/
Home_work12_1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Main.java
69 строк
3 KB
msigin77
д\з_12_1
25 дек 2025, 09:19
25 дек 2025, 09:19
b37d6cf
Код
Авторство
О чём код?
import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Main { public static void main(String[] args) { Address address1 = new Address("Россия", "Москва"); Address address2 = new Address("Россия", "Казань"); Address address3 = new Address("США", "Нью-Йорк"); Address address4 = new Address("Германия", "Берлин"); Address address5 = new Address("Япония", "Токио"); // Создаём мапу с ценами доставки за 1 кг Map<Address, Integer> costPerAddress = new HashMap<>(); costPerAddress.put(address1, 150); // 150 руб/кг costPerAddress.put(address2, 200); // 200 руб/кг costPerAddress.put(address3, 500); // 500 руб/кг costPerAddress.put(address4, 300); // 300 руб/кг costPerAddress.put(address5, 450); // 450 руб/кг Scanner scanner = new Scanner(System.in); int totalCost = 0; // Общая стоимость всех доставок System.out.println("Добро пожаловать в сервис доставки!"); System.out.println("Для завершения введите 'end' вместо страны."); while (true) { System.out.println("Заполнение нового заказа."); System.out.print("Введите страну: "); String country = scanner.nextLine().trim(); if (country.equalsIgnoreCase("end")) { break; } System.out.print("Введите город: "); String city = scanner.nextLine().trim(); System.out.print("Введите вес (кг): "); while (!scanner.hasNextDouble()) { System.out.println("Ошибка! Введите число."); scanner.next(); System.out.print("Введите вес (кг): "); } double weight = scanner.nextDouble(); scanner.nextLine(); // Создаём адрес для проверки Address requestedAddress = new Address(country, city); // Проверяем, существует ли такой адрес в нашей базе if (costPerAddress.containsKey(requestedAddress)) { int pricePerKg = costPerAddress.get(requestedAddress); int deliveryCost = (int) (pricePerKg * weight); totalCost += deliveryCost; System.out.println("Стоимость доставки составит: " + deliveryCost + " руб."); System.out.println("Общая стоимость всех доставок: " + totalCost + " руб."); } else { System.out.println("Доставки по этому адресу нет"); } } System.out.println("Программа завершена. Итоговая стоимость всех доставок: " + totalCost + " руб."); scanner.close(); } }