Добрый день. Есть задачка на декомпозицию кода. Спагетти с метода main нужно убрать и раскидать по иным методам. Один из них примерно выглядит так:
public static void convert(Scanner scanner, double moneyBeforeSalary) {
double rateUSD = 78.5;
double rateEUR = 85;
double rateJPY = 0.74;
System.out.println("Ваши сбережения: " + moneyBeforeSalary + " RUB");
System.out.println("В какую валюту хотите конвертировать? Доступные варианты: 1 - USD, 2 - EUR, 3 - JPY.");
int currency = scanner.nextInt();
if (currency == 1) {
System.out.println("Ваши сбережения в долларах: " + moneyBeforeSalary / rateUSD);
} else if (currency == 2) {
System.out.println("Ваши сбережения в евро: " + moneyBeforeSalary / rateEUR);
} else if (currency == 3) {
System.out.println("Ваши сбережения в иенах: " + moneyBeforeSalary / rateJPY);
} else {
System.out.println("Неизвестная валюта");
}
}
В условии задачи написано:
Метод convert будет использоваться для конвертации валют. Заготовку параметров для него вы найдёте в прекоде. Он должен принимать в качестве аргументов остаток денег на счету и переменную сложного типа scanner — это позволит не дублировать код для считывания выбора валюты.
Я не понимаю как должен работать Scanner scanner тут, и что на его место нужно передать при вызове метода.
Вопрос: как изменить код, чтобы он был правильным, и как правильно вызвать метод, чтобы он работал?
Спасибо, заранее!