/
sc0rpi0n2001
/
HW_HASH
Обзор
Документация
Войти
/
sc0rpi0n2001
/
HW_HASH
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Main.java
71 строка
3 KB
sc0rpi0n2001
upload files
24 фев 2025, 23:43
24 фев 2025, 23:43
9c6f021
Код
Авторство
О чём код?
//Переформатирование предлагает использовать import java.util.* //Но в Google Java Style Guide написано: "Wildcard imports, static or otherwise, are not used". import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Scanner; import java.util.Set; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Map<Address, Integer> costPerAddress = new HashMap<>(); Set<String> unique = new HashSet<>(); int totalCost = 0; Address Msk = new Address("Россия", "Москва"); Address Vrk = new Address("Россия", "Воркута"); Address Dlm = new Address("Турция", "Даламан"); Address Ant = new Address("Турция", "Анталья"); Address La = new Address("США", "Лос-Анджелес"); costPerAddress.put(Msk, 10); costPerAddress.put(Vrk, 20); costPerAddress.put(Dlm, 30); costPerAddress.put(Ant, 40); costPerAddress.put(La, 50); while (true) { System.out.println("Заполнение нового заказа."); System.out.print("Введите страну или 'end', чтобы закончить заполнение: "); String country = scanner.nextLine(); if (country.equalsIgnoreCase("end")) { break; } System.out.print("\nВведите город: "); String city = scanner.nextLine(); Address delivery = new Address(country, city); //Сделал проверку на возможность доставки до ввода веса, т.к. это логичнее if (!costPerAddress.containsKey(delivery)) { System.out.println("\nДоставки по этому адресу нет."); continue; } System.out.print("\nВведите вес (кг): "); int weight; try{ weight = Integer.parseInt(scanner.nextLine()); } catch (NumberFormatException e) { System.out.println("Неправильно введен вес, попробуйте заполнить новый заказ."); continue; } unique.add(delivery.country); int deliveryCost = weight * costPerAddress.get(delivery); totalCost += deliveryCost; System.out.printf(""" Стоимость доставки составит: %d руб. Общая стоимость всех доставок: %d руб. """, deliveryCost, totalCost); } System.out.printf("Количество уникальных стран, куда были оформлены доставки: %d", unique.size()); } }