/
ket12werw
/
Map1
Обзор
Документация
Войти
/
ket12werw
/
Map1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Address.java
82 строки
3 KB
ket12werw
Create: Address.java
29 июн 2026, 18:08
Верифицирован
29 июн 2026, 18:08
dcfe30c
Код
Авторство
О чём код?
import java.util.; public class Address { private String country; private String city; public Address(String country, String city) { this.country = country; this.city = city; } @Override public boolean equals(Object o) { if (!(o instanceof Address)) return false; Address that = (Address) o; return country.equals(that.country) && city.equals(that.city); } @Override public int hashCode() { return Objects.hash(country, city); } @Override public String toString() { return country + ", " + city; } } public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Map<Address, Integer> costPerAddress = new HashMap<>(); // 👉 Создаем пару адресов и цену за 1 кг costPerAddress.put(new Address("Россия", "Казань"), 200); costPerAddress.put(new Address("Россия", "Москва"), 150); costPerAddress.put(new Address("Франция", "Париж"), 500); double totalCost = 0; while (true) { System.out.println("Заполнение нового заказа."); System.out.print("Введите страну: "); String country = scanner.nextLine(); if ("end".equalsIgnoreCase(country)) { break; } System.out.print("Введите город: "); String city = scanner.nextLine(); System.out.print("Введите вес (кг): "); double weight = Double.parseDouble(scanner.nextLine()); Address address = new Address(country, city); // Проверяем, есть ли доставка по этому адресу if (!costPerAddress.containsKey(address)) { System.out.println("Доставка по этому адресу отсутствует"); continue; } int pricePerKg = costPerAddress.get(address); double deliveryCost = pricePerKg * weight; totalCost += deliveryCost; System.out.printf( "Стоимость доставки составит: %.0f руб.\nОбщая стоимость всех доставок: %.0f руб.\n", deliveryCost, totalCost ); } } }