Как написать программу-калькулятор для расчёта пошлины на провоз товара, учитывая следующие правила: 1 копейка начисляется за каждый рубль цены товара, а также 100 рублей за каждый килограмм веса? Пошлина должна вычисляться с учётом того, что копейки в итоговой сумме не учитываются, а только рубли. Например, для товара стоимостью 546 рублей и весом 3 кг итоговая пошлина составит 305 рублей. Программа должна приветствовать пользователя, запрашивать цену товара в рублях и его вес в килограммах (оба значения — целые числа) и выводить рассчитанную сумму пошлины. Далее, нужно вынести логику расчёта пошлины в отдельный статический метод, который: - будет принимать два параметра: цену и вес товара (целые числа); - будет возвращать рассчитанную сумму пошлины. Как правильно организовать вывод данных, например: ``` Введите цену товара (в руб.): 546 Введите вес товара (в кг.): 3 Размер пошлины (в руб.) составит: 305 ``` Вот пример реализации на языке Java: ```java import java.util.Scanner; class Main { public static int calculateCustoms(int price,int weight) { int result = price/100 + weight*100; return result; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите цену товара (в руб.):"); int price = scanner.nextInt(); System.out.print("Введите вес товара (в кг.):"); int weight = scanner.nextInt(); int duty = calculateCustoms(price, weight); System.out.println("Размер пошлины (в руб.) составит: " + duty); } } ```
Ваше описание задачи и само решение являются хорошей основой для реализации калькулятора пошлины на провоз товаров в Java. Давайте немного доработаем ваш код и улучшения. Вот улучшенная версия программы с комментариями: ```java import java.util.Scanner; class CustomsCalculator { // Метод для расчёта пошлины public static int calculateCustoms(int price, int weight) { // Пошлина = целая часть от (цена) + (100 рублей за каждый кг веса) int dutyFromPrice = price; // Копейки от цены уже игнорируются из-за целочисленного деления int dutyFromWeight = weight * 100; int result = dutyFromPrice + dutyFromWeight; return result; // Возврат итоговой суммы пошлины } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Приветствие пользователя System.out.println("Добро пожаловать в калькулятор пошлины на провоз товара!"); // Ввод стоимости товара System.out.print("Введите цену товара (в руб.): "); int price = scanner.nextInt(); // Ввод веса товара System.out.print("Введите вес товара (в кг.): "); int weight = scanner.nextInt(); // Вызов метода расчета пошлины и вывод результата int duty = calculateCustoms(price, weight); System.out.println("Размер пошлины (в руб.) составит: " + duty); // Закрытие сканера scanner.close(); } } ``` ### Объяснение: 1. **Статический метод `calculateCustoms`**: - Метод принимает два параметра: стоимость и вес товара. - Он рассчитывает пошлину, складывая стоимость товара (игнорируя копейки) и добавляя 100 рублей за каждый килограмм веса. - Итоговая сумма пошлины возвращается. 2. **Метод `main`**: - Создаёт экземпляр `Scanner` для считывания ввода от пользователя. - Приветствует пользователя и запрашивает его ввод: цену и вес товара. - Вызывает метод `calculateCustoms` для вычисления пошлины и выводит результат на экран. - Завершает работу, закрывая `Scanner` (что хорошая практика для освобождения ресурсов). ### Запуск программы: Когда вы запустите эту программу, она выведет приглашение для ввода, затем запишет введенные значения и предоставит итоговую сумму пошлины, как указано в вашем примере. Это должно хорошо соответствовать вашим требованиям и будет легко расширить в будущем, если вы захотите добавить больше функциональности.