Lab1#17
Conversation
| public static void main(String[] args) throws Exception { | ||
| Scanner in = new Scanner(System.in); | ||
| Map<String, Quiz> map = getQuizMap(); | ||
| Quiz q = map.get("Text"); |
There was a problem hiding this comment.
Ученики открывают разработанное вами приложение и вводят в CLI название теста, без доступа к коду я никак не могу изменить тест.
| if (q.provideAnswer(answer) != Result.INCORRECT_INPUT) { | ||
| break; | ||
| } | ||
| answer = in.next(); |
There was a problem hiding this comment.
Наверное стоило бы что-то написать, если требуется повторный ввод. И лучше выводить верный ответ или нет.
| * @return завершен ли тест | ||
| */ | ||
| boolean isFinished() { | ||
| return incorrectCount + incorrectCount == taskCount; |
There was a problem hiding this comment.
Думаю что-то здесь не так, из-за этого не работает ни один квиз.
| case WRONG -> incorrectCount++; | ||
| case INCORRECT_INPUT -> isNextTask = false; | ||
| } | ||
| return currentTask.validate(answer); |
| if (!isFinished()) { | ||
| if (isNextTask) { | ||
| currentTask = taskGenerator.generate(); | ||
| taskCount++; |
There was a problem hiding this comment.
Зачем здесь taskCount++? Квиз никогда не завершится.
| * @return случайная задача из списка | ||
| */ | ||
| public Task generate() { | ||
| Collections.shuffle(this.tasks); |
There was a problem hiding this comment.
Можно было бы 1 раз пошафлить и сохранять позицию.
| } | ||
|
|
||
| char GetCharSign (Operation sign) { | ||
| char sym = ' '; |
There was a problem hiding this comment.
зачем? почему нельзя просто return '+'.
There was a problem hiding this comment.
Не понял, я по Operation еще нужный char знака
| } | ||
| if (accessibleSigns.get(index) == Operation.MULTIPLICATION || (accessibleSigns.get(index) == Operation.DIVISION && pos == XPosition.RIGHT)) { | ||
| if (second_num < first_num) { | ||
| int tmp = first_num; |
| first_num = maxNumber; | ||
| } | ||
|
|
||
| if (second_num % first_num != 0) { |
There was a problem hiding this comment.
Просто супер, что задумался об этом, но реализованно не верно(( При делении тут точно должно быть наоборот.
| int second_num = ran.nextInt(minNumber, maxNumber + 1); | ||
| int index = ran.nextInt(0, accessibleSigns.size()); | ||
| int answer = GenerateAnswer(first_num, second_num, accessibleSigns.get(index)); | ||
| String string_answer = first_num + String.valueOf(GetCharSign(accessibleSigns.get(index))) + second_num + "=?"; |
There was a problem hiding this comment.
А тут почему не задумался о делении?
|
Ну пока что такая оценка:
В итоге 6.25. В остальном хорошая работа, если бы не квиз было бы почти супер. И ты один из немногих кто задумался о делении. +1 за допы. |
No description provided.