Calculator#1
Conversation
| /** | ||
| * Exeption: Слишком мало людей | ||
| */ | ||
| private static class ToFewPeople extends Exception {} |
There was a problem hiding this comment.
Хорошее решение, делать свои подвиды исключений 👍
| System.out.println("На скольких человек необходимо разделить счёт?"); | ||
| try{ | ||
| peopleNum = scanner.nextInt(); | ||
| if (peopleNum < 1) throw new ToFewPeople(); |
There was a problem hiding this comment.
🍏 Мне кажется, если введено в консоль число 1, то нет смысла ради одного человека гонять программу - для одного и так будет ясно, сколько заплатить.
Можно выдать сообщение, например, что нет смысла делить счет на одного человека
| private void printProducts(){ | ||
| System.out.println("Добавленные товары:"); |
There was a problem hiding this comment.
Грамотная и интересная реализация функции. Используется HashMap, что явно к месту. Молодец! 👍
| public static String getRubText(double sum){ | ||
| int normalized_sum = (int) Math.floor(sum); | ||
| if (normalized_sum % 100 / 10 == 1) | ||
| { | ||
| return "рублей"; | ||
| } | ||
| switch ((int) sum % 10) | ||
| { | ||
| case 1: | ||
| return "рубль"; | ||
| case 2: | ||
| case 3: | ||
| case 4: | ||
| return "рубля"; | ||
| default: | ||
| return "рублей"; | ||
| } |
There was a problem hiding this comment.
Работает корректно. Реализация простая и компактная 👍
И круто, что разделил код на отдельные классы, с своей зоной ответственности. На этот счет, если не знаком, есть такой подход в ООП, называется SOLID - это свод принципов. В данном случае у тебя соблюдается S-принцип)
Сделан калькулятор для товаров.
Особенности: