Repository navigation
Первый Pull Request - #1
VerionitKo wants to merge 6 commits into
Conversation
| } | ||
|
|
||
| public double getPriceForPerson() { | ||
| return totalPrice / humanCount; |
There was a problem hiding this comment.
Здесь хорошо было бы проверить, что humanCount не равен 0, перед делением. Сейчас это условие контролируется (в программе есть проверки при вводе), но это происходит снаружи этого класса и нет гарантий, что в будущем при внесении изменений в программу эти проверки не сотрутся
There was a problem hiding this comment.
Спасибо! даже не подумал о таком варианте!
| System.out.println("Добавленные товары: "); | ||
|
|
||
| for (String item : calculator.getItems()) { | ||
| System.out.println(" ╰┈➤ " + item + " ** "); |
| public class Output { // copyright of ninznak (aka VerionitKo (git) :) | ||
| public static void showMessage(double personalPrice) { | ||
|
|
||
| String[] rightEndsForRuble = {"ля", "лей", "ль"}; |
There was a problem hiding this comment.
Здесь можно обойтись без массива. Просто захардкодить окончания либо вынести их в константы. Но лучше всего такую функцию писать так, чтобы она возвращала целиком слово, а не только окончание - такая функция будет универсальнее и тестировать её будет проще
| try { | ||
| humanCount = sc.nextInt(); | ||
| if (humanCount > 1) { | ||
| calculator = new Calculator(humanCount); | ||
| break; | ||
| } | ||
|
|
||
| } catch (InputMismatchException ex) { | ||
| System.out.println("ERROR! Введите число! "); | ||
| sc.nextLine(); | ||
| } |
There was a problem hiding this comment.
Отсюда можно вынести очень хорошую статическую функцию для считывания целого числа, большего единицы
| while (true) { | ||
| System.out.println("Введите стоимость товара в формате ХХ,ХХ (рубли,коп.): "); | ||
| try { | ||
| double itemPrice = sc.nextDouble(); | ||
| if (itemPrice <= 0) { | ||
| System.out.println("Цена должна быть положительным числом!"); | ||
| } else { | ||
| calculator.addDish(itemName, itemPrice); | ||
| System.out.println("Товар " + itemName + " успешно добавлен!"); | ||
| System.out.println("Сейчас общая сумма: " + calculator.getTotalPrice()); | ||
| break; | ||
| } | ||
| } catch (InputMismatchException ex) { | ||
| System.out.println("Формат ввода неверный!" + | ||
| " Введите дробное число через запятую!"); | ||
| sc.nextLine(); | ||
| } |
There was a problem hiding this comment.
А отсюда вынести код в статическую функцию для чтения дробного положительного числа. Когда код поделён на небольшие функции с говорящими названиями - работать с ним легче и приятнее)
There was a problem hiding this comment.
Спасибо! Учту! Тоже не очень понравилось такое нагромождение 8)
No description provided.