/
olya_slabun
/
Hw_java_map
Обзор
Документация
Войти
/
olya_slabun
/
Hw_java_map
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
src/Main.java
57 строк
3 KB
Olya Slabun
ервый коммит
15 авг 2025, 11:27
15 авг 2025, 11:27
8576374
Код
Авторство
О чём код?
import java.util.*; public class Main { public static void main(String[] args) { Map<Address, Integer> costPerAddress = new HashMap<>(); costPerAddress.put(new Address("Россия", "Москва"), 250); costPerAddress.put(new Address("Россия", "Казань"), 200); costPerAddress.put(new Address("США", "Нью-Йорк"), 900); costPerAddress.put(new Address("Германия", "Берлин"), 600); int totalCost = 0; Set<String> uniqueCountries = new HashSet<>(); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("\nЗаполнение нового заказа."); System.out.print("Введите страну (или 'выход' для выхода): "); String country = scanner.nextLine().trim(); if (country.equalsIgnoreCase("выход")) { System.out.println("Работа программы завершена."); break; } System.out.print("Введите город: "); String city = scanner.nextLine().trim(); System.out.print("Введите вес (кг): "); String weightStr = scanner.nextLine().trim(); int weightKg; try { weightKg = Integer.parseInt(weightStr); if (weightKg <= 0) { System.out.println("Вес должен быть больше 0."); continue; } } catch (NumberFormatException e) { System.out.println("Ошибка: введите целое число для веса."); continue; } Address orderAddress = new Address(country, city); if (!costPerAddress.containsKey(orderAddress)) { System.out.println("Доставки по этому адресу нет."); } else { int pricePerKg = costPerAddress.get(orderAddress); int orderCost = pricePerKg * weightKg; totalCost += orderCost; uniqueCountries.add(country.trim().toLowerCase()); System.out.println("Стоимость доставки составит: " + orderCost + " руб."); System.out.println("Общая стоимость всех доставок: " + totalCost + " руб."); System.out.println("Количество уникальных стран: " + uniqueCountries.size()); } } scanner.close(); } }