Как написать программу-калькулятор для расчёта пошлины на провоз товара, учитывая следующие правила: 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` (что хорошая практика для освобождения ресурсов).
### Запуск программы:
Когда вы запустите эту программу, она выведет приглашение для ввода, затем запишет введенные значения и предоставит итоговую сумму пошлины, как указано в вашем примере.
Это должно хорошо соответствовать вашим требованиям и будет легко расширить в будущем, если вы захотите добавить больше функциональности.