Repository navigation
my first project - #1
baha-kenpachi wants to merge 8 commits into
Conversation
| System.out.println("Не корректное колличество людей, значение должно быть больше 1."); | ||
| } else { //начинаем собирать название товаров и цены пока не будет команды завершить | ||
| Calculate.calculate(quantityPeople); // quantityPeople добавляем что бы сумму разделить на количество людей | ||
| return; |
There was a problem hiding this comment.
Лучше вынести функционал для ввода количества людей и обработки ввода в отдельную сущность (метод, класс), и затем вызывать их там, где необходимо. Так же, как это сделано с Calculate и Formater. Это позволяет улучшить читаемость кода, т.к. отдельные функциональные блоки расположены отдельно друг от друга и не смешиваются.
| @@ -0,0 +1,13 @@ | |||
| public class Formater { | |||
| public static String formater(double formaterring) { // formatter возвращет рубль в правильной форме | |||
There was a problem hiding this comment.
В Java принята конвенция, согласно которой методы принято называть глаголами camelCase'ом, см. https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html
Так что лучше метод назвать format
|
|
||
| System.out.println("Товар успешно добавлен"); | ||
|
|
||
| System.out.println("Желаете добавить еще товар?"); |
There was a problem hiding this comment.
Два таких подряд идущих println лучше объединить в один
|
|
||
| System.out.println("Напишите цену на блюдо:"); | ||
| double productCost = scanner.nextDouble(); | ||
| sum = sum + productCost; // суммируем стоимость товаров |
There was a problem hiding this comment.
Можно также сократить до sum += productCost;
| public class Formater { | ||
| public static String formater(double formaterring) { // formatter возвращет рубль в правильной форме | ||
| String rub; | ||
| if (Math.floor(formaterring) == 1) { |
There was a problem hiding this comment.
Math.floor(formaterring) используется в методе три раза, можно присвоить это значение переменной в начале метода как-то так:
int roundedNumber = Math.floor(formaterring);
… переименовал в class Format провел тесты на корректный вывод
|
|
||
| } | ||
|
|
||
| public static void calculate2(int quantityPeople) { // без учета отрицательного ввода |
| int preLastDigit = roundedNumber % 100 / 10; | ||
| if (preLastDigit == 1) | ||
| { | ||
| return "рублей"; |
There was a problem hiding this comment.
if (preLastDigit == 1)
{
Не совсем джава-стиль. Вообще есть хороший хоткей, можно нажать Alt + Ctrl + L и студия красиво отформатирует весь код на экране
| return "рубля"; | ||
| default: | ||
| return "рублей"; | ||
| } |
There was a problem hiding this comment.
Можно этот switch превратить в более короткий и читабельный формат:
return switch (roundedNumber % 10) {
case 1 -> "рубль";
case 2, 3, 4 -> "рубля";
default -> "рублей";
};
| //break; | ||
| } else if (quantityPeople < 1) { //просим заново ввести колличество людей | ||
| System.out.println("Не корректное колличество людей, значение должно быть больше 1."); | ||
| } else if (quantityPeople > 1) { //начинаем собирать название товаров и цены пока не будет команды завершить |
for code reviewing