Archiver (8)

  • 32
  • Недоступна
Чтобы узнать какую команду сейчас хочет выполнить пользователь, добавим метод Operation askOperation() в класс Archiver. Этот метод должен вывести в консоль список доступных команд и попросить выбрать одну из них. Для удобства будем просить ввести номер команды, где номер – это порядковый номер кома
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (85)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
null
Уровень 34, Москва
25 сентября, 20:13
крутая задача. Обварачиваешь тело цикла целиком try-catch'ем - валя не принимает. Обварачиваешь только operation = askOperation() и CommandExecutor.execute(operation) - сразу принял
PaiMei in J# Grand Master в Eagles' Claw
20 сентября, 10:42
To convert an ordinal into its enum represantation you might want to do this: ReportTypeEnum value = ReportTypeEnum.values()[ordinal]; Источник: https://stackoverflow.com/questions/609860/convert-from-enum-ordinal-to-enum-type
Александр
Уровень 40
19 сентября, 15:42
int num = ConsoleHelper.readInt();
надо использовать readInt()
Dmitry Technical Lead
17 сентября, 17:10
Пока не проинитил
Operation operation = null;
вместо
Operation operation = Operation.EXIT;
туплй валидатор упорно не принимал решение с ошибкой, что не обрабатывается стандартный Exception
Максим Дудин
Уровень 30, Калининград
31 августа, 16:20
Самое сложное было для меня понять, что "Перепиши метод main согласно заданию." - значит сотрите нафиг всё что писали в main до этого и напишите заново, а не допишите код согласно условия... Долго бы я тупил если бы не подсмотрел готовое решение.... Всё остальное (ну да я перебирал значения через if else потому что не знал такого - Operation.values()[number]) ) в целом было работоспособно..
RFedorenkov
Уровень 47, Москва, Россия
11 августа, 07:02
Решил добавить System.exit(0) в ExitCommand, валидатор не принял (Неизвестная ошибка.) Хотя по мне это правильнее, чем сравнивать с Operation.EXIT
Dmitry
Уровень 31, Хабаровск, Россия
28 мая, 05:47
Да, уже многие написали об этом, я тоже напишу. Почему-то в этой задаче связка:
while (true){
   if (...) break;
}
вне закона. Если так сделаете, то вы не пройдете по последнему пункту. Зато альтернативные варианты:
while (operation != Operation.EXIT){
...
}
и
do{
...
}while (operation != Operation.EXIT);
оба проходят, хотя в сущности это всё одно и то же. Только не забывайте перед циклом инициализировать переменную operation хотя бы null'ом.
Maks Panteleev
Уровень 41, Москва, Россия
28 мая, 17:59
угу тоже 15 минут не мог понять в чем проблема - неужели принципиально использовать дувайл...
Aleksandr Alekseenko Network engineer
6 мая, 02:32
Моя ошибка, пытался пристроить код из предыдущих заданий в методе main. Просто закомментил его в итоге.
Даниил Александрович
Уровень 35, Тамбов , Россия
3 апреля, 13:45
скопированные фразы из задания в мобильной версии "Валя" упорно не хотел принимать, пришлось вбить ручками.
} catch (WrongZipFileException e) {
      ConsoleHelper.writeMessage("Вы не выбрали файл архива или выбрали неверный файл.");
     } catch (Exception e) {
      ConsoleHelper.writeMessage("Произошла ошибка. Проверьте введенные данные.");
     }
МОЖЕТ еще кому понадобится. удачи