/
maksh
/
hw12
Обзор
Документация
Войти
/
maksh
/
hw12
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/Main.java
78 строк
3 KB
maksh
upload files
27 июн 2025, 18:56
27 июн 2025, 18:56
cb6c289
Код
Авторство
О чём код?
import java.util.*; public class Main { public static void main(String[] args) { int sum = 0; Address addressOne = new Address("Россия", "Казань"); Address addressTwo = new Address("Россия", "Москва"); Address addressThree = new Address("Россия", "Питер"); Address addressFour = new Address("Англия", "Лондон"); Address addressFive = new Address("США", "Вашингтон"); Map<Address, Integer> map = new HashMap<>(); map.put(addressOne, 200); map.put(addressTwo, 250); map.put(addressThree, 300); map.put(addressFour, 1000); map.put(addressFive, 1500); Set<String> set = new HashSet<>(); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("Заполнение нового заказа."); System.out.print("Введите страну: "); String country = scanner.nextLine(); if (country.equals("end")) { System.out.println("Выход из программы!"); System.out.println("Общая стоимость всех доставок: " + sum + " руб."); System.out.println("Количество различных стран доставки: " + set.size()); break; } System.out.print("Введите город: "); String city = scanner.nextLine(); System.out.print("Введите вес (кг): "); int shippingCost = Integer.parseInt(scanner.nextLine()); int sumShipping = sumShippingCost(map, shippingCost, country, city); if (sumShipping != 0) { sum += sumShipping; System.out.println("Общая стоимость всех доставок: " + sum + " руб."); set.add(country); System.out.println("Количество различных стран доставки: " + set.size()); } } } public static int sumShippingCost(Map<Address, Integer> map, int shippingCost, String country, String city) { for (Map.Entry<Address, Integer> entry : map.entrySet()) { Address tempKey = entry.getKey(); int tempValue = entry.getValue(); String tempCountry = tempKey.getCountry(); String tempCity = tempKey.getCity(); if (!country.equals(tempCountry) || !city.equals(tempCity)) { continue; } int sumShipping = shippingCost * tempValue; System.out.println("Cтоимость доставки составит: " + sumShipping + " руб."); return sumShipping; } System.out.println("Доставки по этому адресу нет."); return 0; } }