Не проходит 7 пункт с пояснением: "Убедись, что метод execute() у WithdrawCommand работает с новым ResourceBundle."
Устал уже пробовать. WithdrawCommand работает как часы. Что не так?
1. В LoginCommand, WithdrawCommand добавь поле private ResourceBundleres, которое инициализируй соответствующим ресурсом.
Для LoginCommand ресурс login_en.properties.
Для WithdrawCommand ресурс withdraw_en.properties.
2. Для ресурса common_en.properties замени все строки в ConsoleHelper.
Для этого создай приватное статическое поле ResourceBundle res в классе ConsoleHelper и инициализируй соответствующим ресурсом. Важно:путь к ресурсам строй динамически, для этого используй у классаCashMachineметод getPackage()
Требования:
LoginCommand должен содержать приватное поле ResourceBundle res.
WithdrawCommand должен содержать приватное поле ResourceBundle res.
ConsoleHelper должен содержать приватное статическое поле ResourceBundle res.
Поле res класса LoginCommand должно быть проинициализировано из файла login_en.properties.
Поле res класса WithdrawCommand должно быть проинициализировано из файла withdraw_en.properties.
Поле res класса ConsoleHelper должно быть проинициализировано из файла common_en.properties.
В методе execute() классов LoginCommand, WithdrawCommand используй вызовы соответствующих новых ресурсов.
package com.javarush.task.task26.task2613;
public enum Operation {
LOGIN,
INFO ,
DEPOSIT ,
WITHDRAW ,
EXIT;
public static Operation getAllowableOperationByOrdinal(Integer i) {
switch (i) {
case 0: throw new IllegalArgumentException();
case 1: return INFO;
case 2: return DEPOSIT;
case 3: return WITHDRAW;
case 4: return EXIT;
}
throw new IllegalArgumentException();
}
}
0
Комментарии (2)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Помогло следующее (комментарий под задачей от Анастасии, 40 уровень, Киев, 19 февраля 2018, 15:22
19 попыток! Ура!
в Login:
перед циклом before
в цикле первым делом попросить specify.data
если все совпало, выводите "success.format", не забывайте, что это String.format
если неудача, то прям подряд: "not.verified.format" (это String.format), "try.again.or.exit", "try.again.with.details"
в Withdraw
перед циклом before
в цикле первым делом попросить "specify.amount"
где у вас проверка на меньше нуля, там "specify.not.empty.amount"
где у вас NumberFormatException ничего не выводить, пусть будет continue (если у вас есть такое место)
где isAmountAvailable, там "not.enough.money"
где NotEnoughMoneyException, там "exact.amount.not.available"
в конце "success.format"
если помогло, пишите Ура
UPD: поправил в WitdrawCommand второй блок catch: вместо Exception ловлю NumberFormatException.
Также поправил случай, когда выводилось и specify.amount, и specify.not.empty.amount.
Не помогло.