Repository navigation
Калькулятор счёта - #1
investbankir wants to merge 2 commits into
Conversation
| System.out.println("Hello world!"); | ||
| System.out.println("На скольких человек необходимо разделить счёт?"); | ||
| Scanner sc = new Scanner(System.in); | ||
| int guests = 0; |
There was a problem hiding this comment.
Нулевые значения можно не писать, так как эти значения компилятор и так бы проинициализировал с дефолтными нулевыми значениями
| break; | ||
| } else if (quantity == 1) { | ||
| System.out.println("Счёт на 1 человека ты и сам разделишь ;-) Попробуем снова?"); | ||
| } else if (quantity < 1) { |
There was a problem hiding this comment.
Пока дойдет до этого значения, то quantity сто процентов будет меньше 1 (так как значения 1 и выше будут уже отсеяны). Поэтому можно написать просто else без дополнительного if
| sc.nextLine(); | ||
| break; | ||
| } else if (quantity == 1) { | ||
| System.out.println("Счёт на 1 человека ты и сам разделишь ;-) Попробуем снова?"); |
There was a problem hiding this comment.
Мне нравится, когда добавляют что-то веселое в работы)
|
|
||
| System.out.println(dish + " - " + formatPrice(price)); | ||
|
|
||
| list = list.concat(dish+"").concat("\n"); |
There was a problem hiding this comment.
Более эффективный способ использовать StringBuilder. Метод concat у строки каждый раз создает новый строковый объект вместо изменения текущего.
Другой вариант, вместо строки можно добавлять продукты в массив и работать уже с ним)
|
|
||
| String rubleWord = ""; | ||
|
|
||
| if (rubles % 10 == 1 && rubles % 100 != 11) { |
There was a problem hiding this comment.
rubles % 10 и rubles % 100 можно сохранить в отдельные переменные, чтобы каждый раз не вычислять и не ошибиться
There was a problem hiding this comment.
Также можно вместо if использовать конструкцию switch-case. Она пригождается, когда много разветвлений
| rubleWord = "рублей"; | ||
| } | ||
|
|
||
| return rubles + " " + rubleWord + " " + kopecks + " коп."; |
There was a problem hiding this comment.
Также можно использовать String.format(). Он есть в статье на хабре, которая прикреплена к рекомендации про StringBuilder)
Проектная работа 1 от студента 14й когорты Черкасова Сергея.
Данное приложение на первом этапе запрашивает у пользователя количество на какое количество человек необходимо разделить счёт после чего при получении положительного ответа переходит к запросу позиций меню и их стоимости.
После ввода всех позиций чека пользователь завершает ввод ключевым словом "Закончить" и приложение показывает ему весь перечень товаров (блюд), итоговую сумму заказа и делит её поровну между всеми гостями.