Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 27 additions & 7 deletions src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
import java.util.Locale;

public class Main {
public static String chooseSuffix(float number) { // Создаем метод который выбирает окончания.
int divider = 10; // Объявляем переменную делителя
if (number >= 11 && number <=14) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

между 11 и 14 лучше проверять не number, а (int) Math.floor(number) % 100, это для случаев, когда у нас 112 гостей или 214

divider = 100;
}
int value = (int) Math.floor(number) % divider; // Округляем number и извлекаем последнюю цифру

String suffix;

switch (value) {
case 1:
suffix = "рубль";
break;
case 2:
case 3:
case 4:
suffix = "рубля";
break;
default:
suffix = "рублей";
break;
}
return suffix;
}


public static void main(String[] args) {
Persons persons = new Persons(); // Создаём новый объект класса Persons
Expand All @@ -13,13 +38,8 @@ public static void main(String[] args) {
System.out.println(String.format(Locale.US, "Добавленные товары: %s - %.2f Руб.", product.name, product.cost)); // Для каждого продукта из списка печатаем его имя и цену.
}
float averageCheck = (float) (calculator.total / persons.count); // Подсчитываем средний чек
String rub = "ру";
if (averageCheck < 2 && averageCheck >= 1) {
rub = rub + "бль";
} else {
rub = rub + "бля";
}
System.out.println(String.format(Locale.US, "%.2f %s с каждого гостя.", averageCheck, rub));

System.out.println(String.format(Locale.US, "%.2f %s с каждого гостя.", averageCheck, chooseSuffix(averageCheck)));
}

}
16 changes: 10 additions & 6 deletions src/main/java/Persons.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,16 @@ public class Persons {
public void read() {
System.out.println("Сколько гостей за столом ?");
Scanner scanner = new Scanner(System.in); // Создаём новый объект класса Scanner
int count = scanner.nextInt(); // Присваиваем переменной ввод с клавиатуры (Колличество гостей).
while (count <= 1) { // Цикл проверки колличества гостей.
System.out.println("Вы ввели не корректное колличество гостей. Введите значение больше 1");
count = scanner.nextInt();
if (scanner.hasNextInt()) { // Проверяем ввод с клавиатуры. Количество гостей должно быть Integer.
int count = scanner.nextInt(); // Присваиваем переменной ввод с клавиатуры (Колличество гостей).
while (count <= 1) { // Цикл проверки колличества гостей.
System.out.println("Вы ввели не корректное колличество гостей. Введите значение больше 1");
count = scanner.nextInt();
}
this.count = count;
} else {
System.out.println("Количество гостей должно быть целочисленным (1, 2, 3, .....");
read();
}
this.count = count;

}
}