Repository navigation
Conversation
…ser console input
…e bill should be split
ilshat-abdulin
left a comment
There was a problem hiding this comment.
Однозначно, у тебя отличная работа. Понравилось, как организовал структуру классов 👍 . Осталось только скорректировать работу метода returnRoubleString в RoubleFormatter и работа будет принята
| public static String returnRoubleString(double sum) { | ||
| int integerValueOfSum = (int) sum; | ||
| if (integerValueOfSum >=10 && integerValueOfSum<= 20) { | ||
| return "рублей"; | ||
| } | ||
| if (integerValueOfSum %10 == 1) { | ||
| return "рубль"; | ||
| } else if (integerValueOfSum %10 >= 2 && integerValueOfSum %10 <= 4) { | ||
| return "рубля"; | ||
| } else { | ||
| return "рублей"; | ||
| } | ||
| } |
| try { | ||
| correctDoubleInput = Double.parseDouble(scanner.next()); | ||
| break; | ||
| } catch (NumberFormatException e) { | ||
| System.out.println("Введите корректную стоимость в формате рубли.копейки (например 10.22):"); | ||
| } |
There was a problem hiding this comment.
Отличный способ проверки на корректность ввода 👍
| String tempGoods = ""; | ||
| String userInputGoodName; | ||
| double userInputGoodValue; | ||
| Scanner scanner = new Scanner(System.in); |
There was a problem hiding this comment.
🍏 Думаю, что можно было создать один сканер в main и передавать его как аргумент в методы, в которых он необходим
There was a problem hiding this comment.
Некоторые методы я отметил private, которые используют Scanner, потому что они исполняют техническую работу внутри класса и не должны быть доступны вне класса. Поэтому из main не хотелось бы им передавать сканер...
| import java.util.Scanner; | ||
|
|
||
| public class Goods { | ||
| private double billPerPerson = 0; |
There was a problem hiding this comment.
🍏 IDE подсказывает, что можно эту переменную объявить локально в методе calculateAndShowResultsPerGuest, т.к. в других методах этого класса она не используется

Создание списка товаров и гостей и расчет того, кто сколько должен заплатить
Создано 3 класса:
Guests - позволяет с помощью ввода пользователей в консоль определить количество гостей
Goods - позволяет создать список товаров и их стоимость, а также вывести разделение счета в зависимости от числа гостей
RoubleFormatter - позволяет на основе заданного double выбрать правильное склонение слова "рубль" (на основе целочисленной части)
В main только инициализация классов