diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 0000000..af8c57f --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,55 @@ +import java.util.Scanner; + +public class Calculator { + String products = "\n"; //Аккумулируем товары + String prodName; //Наименование 1 шт из сканера + String exit = "завершить"; // Команда прерывания + String exitMessage = "Программа завершена"; // Сообщение после прерывания + double price = 0.00; //цена 1 шт вводимая пользователем + double sum = 0.00; // сумма + int countProducts; // Количество введенных товаров + + public void consoleProducts() { + Scanner scanner = new Scanner(System.in); + while (true) { + System.out.printf("Введите название товара или '%s' для выхода\n", exit); + prodName = scanner.next(); + if (prodName.equalsIgnoreCase(exit)) { + System.out.println(exitMessage); + break; + } + while (true) { + System.out.println("Введите стоимость товара в формате рубли.копейки. Например: 10,45"); + if (scanner.hasNextDouble()) { + price = scanner.nextDouble(); + if (price > 0.00) { + countProducts++; + products = products + prodName + " "; + sum += price; + break; + } + } else { + System.out.println("Ошибка ввода стоимости"); + scanner.next(); + } + } + System.out.println("Товар успешно добавлен."); + } + double bill = sum / Main.persons; + System.out.printf("Введены следующие товары, в количестве %d шт.:", countProducts); + System.out.print(products + "\n"); + System.out.println("Сумма на одного человека: " + String.format("%.2f", bill) + " " + rubles(bill)); + } + + public String rubles(double a) { + int rub = (int) Math.floor(a); + if (rub % 100 > 5 && rub <= 20) { + return "рублей"; + } else if (rub % 10 == 1) { + return "рубль"; + } else if (rub % 10 > 1 && rub % 10 < 5) { + return "рубля"; + } + return "рублей"; + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..9f28bae 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,12 @@ public class Main { + public static int persons; + public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + Persons.enterPersons(); + + Calculator calculator = new Calculator(); + calculator.consoleProducts(); } -} +} \ No newline at end of file diff --git a/src/main/java/Persons.java b/src/main/java/Persons.java new file mode 100644 index 0000000..1663219 --- /dev/null +++ b/src/main/java/Persons.java @@ -0,0 +1,23 @@ +import java.util.Scanner; + +public class Persons { + + public static void enterPersons() { + Scanner scanner = new Scanner(System.in); + System.out.println("На скольких человек разделить счёт?\nВведите количество посетителей от 2 до 1000"); + + while (true) { + if (scanner.hasNextInt()) { + Main.persons = scanner.nextInt(); + + if (Main.persons > 1 && Main.persons < 1000) { + System.out.printf("Введено %d посетителей\n", Main.persons); + break; + } + } else { + System.out.println("Ошибка ввода. Попробуйте ещё раз."); + scanner.next(); + } + } + } +} \ No newline at end of file