Repository navigation
Conversation
Modified class Main
| } | ||
| } | ||
|
|
||
| class Converter{ |
There was a problem hiding this comment.
🍏 В Java принято для каждого класса создавать отдельный файл
| int persons = countingPersons(); | ||
| double sum = 0; | ||
|
|
||
| System.out.println("Введите название товара и его стоимость" + |
There was a problem hiding this comment.
🍏 Круто было бы подсказать пользователю, в каком формате он должен ввести данные. Например, [наименование руб,коп]
| } | ||
| catch (InputMismatchException e){ | ||
| System.out.println("Вы ввели некорректный символ вместо числа. Введите данные заново"); | ||
| countingProducts(); |
There was a problem hiding this comment.
🍏 Было бы классно, не сбрасывать ранее введенные данные по товарам в случае одной ошибки, а дать пользователю возможность исправить ошибку сразу на этом шаге. Для этого тебе нужно немного перестроить код этого метода. Из него можно выделить внутренние циклы, каждый из которых отвечал бы за один шаг сценария (добавление одного товара или запрос данных о количестве человек) и повторял бы вопрос, пока пользователь не ввел бы данные правильно.
А полученные от пользователя данные можно было бы хранить в полях класса, а не внутри метода
|
|
||
| float price = scanner.nextFloat(); | ||
|
|
||
| list.add(name); |
There was a problem hiding this comment.
🍏 Рекомендую сохранять не просто строки, а объекты товаров с наименование и ценой. Можно потренироваться в этом проекте и создать класс Товар, который будет содержать два поля. Затем при распечатке списка товаров можно будет печатать не просто название, но и цену каждого из товаров.
Divided classes into files Calculator class modification and rename file and class Fix class Converter
| } | ||
|
|
||
| String check(){ | ||
| if (count % 100 > 10 && count % 100 < 20){ |
There was a problem hiding this comment.
🍏 Чтобы не выполнять расчет остатка от деления по несколько раз, можно один раз их рассчитать в начале метода и сохранить в переменные.
Fix class Converter Послание для Ревьюера: Привет! Хочу поблагодарить вас за ваш код ревью! Вы очень доходчиво и понятно указываете на ошибки, более того подсказываете как сделать код архитектурно красивым. Вы просто прелесть, спасибо! Касательно бага по поводу завершения программы... Я попытался решить проблему при помощи преобразования и это привело меня к страшному условию: if(Integer.ToString((int)price.equalsIgnoreCase(exit)). Естественно, оно не заработало и я получил от компилятора по лицу пару раз) Поэтому решил явно указать пользователю где стои вводить команду "Завершить" для остановки программы и подсчёта результата.
|
|
||
| System.out.println("Добавленные товары:"); | ||
| for (int i = 0; i < list.size(); i++) { | ||
| System.out.println(list.get(i).name + " " + list.get(i).price); |
There was a problem hiding this comment.
🍏 При печати в памяти будут создаваться промежуточные строки из-за использования оператора "+". Можно использовать StringBuilder, который сформирует только результирующую строку.
https://habr.com/ru/articles/260767/
Added and implemented class Calculater
Modified class Main