/
2007chester
/
HASH
Обзор
Документация
Войти
/
2007chester
/
HASH
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Main.java
57 строк
2 KB
2007chester
upload files
04 мар 2025, 17:51
04 мар 2025, 17:51
9a59b4e
Код
Авторство
О чём код?
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Map<Address, Integer> costPerAddress = new HashMap<>(); // Заполнение справочника цен costPerAddress.put(new Address("Россия", "Москва"), 200); costPerAddress.put(new Address("Россия", "Казань"), 200); costPerAddress.put(new Address("США", "Нью-Йорк"), 500); costPerAddress.put(new Address("Германия", "Берлин"), 400); int totalCost = 0; Set<String> uniqueCountries = new HashSet<>(); 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("Введите вес (кг): "); int weight; try { weight = Integer.parseInt(scanner.nextLine().trim()); if (weight <= 0) { System.out.println("Некорректный вес! Введите положительное число."); continue; } } catch (NumberFormatException e) { System.out.println("Ошибка! Введите корректное число."); continue; } Address address = new Address(country, city); if (costPerAddress.containsKey(address)) { int cost = costPerAddress.get(address) * weight; totalCost += cost; uniqueCountries.add(country); System.out.println("Стоимость доставки составит: " + cost + " руб."); } else { System.out.println("Доставки по этому адресу нет"); } System.out.println("Общая стоимость всех доставок: " + totalCost + " руб."); System.out.println("Количество уникальных стран с заказами: " + uniqueCountries.size()); } scanner.close(); System.out.println("Работа завершена."); } }