From b7ff38d6b9ad65f8fe61c53a0f4c933261e0e5e8 Mon Sep 17 00:00:00 2001 From: DFater <118625726+dfater@users.noreply.github.com> Date: 2022年11月27日 19:48:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B0=20=D0=9F=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 61 +++++++++++++++++++++++++++++++++++ src/main/java/Main.java | 45 +++++++++++++++++++++++--- 2 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 src/main/java/Calculator.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 0000000..e1f2870 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,61 @@ +import java.util.LinkedList; +import java.util.List; +import java.util.Scanner; + +public class Calculator { + + List menuList = new LinkedList(); + + String stopWord = "завершить"; + String dishes; + double price; + static double priceSum; + + public void costCalculator() { + + while (true) { + Scanner scanner = new Scanner(System.in); + System.out.println("Введите название еды:"); + dishes = scanner.nextLine(); + menuList.add(dishes); + System.out.println("Введите стоимость в формате: \"'рубли.копейки' [10,45; 11,40]\""); + while (!scanner.hasNextDouble()) { + System.out.println("Вводить нужно только цифры! Попробуйте заново:"); + scanner.nextLine(); + } + price = scanner.nextDouble(); + if (price> 0) { + priceSum = priceSum + price; + System.out.println("Товар успешно добавлен! "); + } + while (price <= 0) { + if (price <= 0) { + System.out.println("Цена отрицательная, доходы мы еще не считаем! Введите заново: "); + price = scanner.nextDouble(); + if (price> 0) { + priceSum = priceSum + price; + System.out.println("Товар успешно добавлен! "); + break; + } + } + } + System.out.println("Если хотите продолжить введите - любой символ,если хотите остановиться введите 'завершить' "); + dishes = scanner.next(); + if (dishes.equalsIgnoreCase(stopWord)) { + break; + } + } + } + + static String costRounding(double i) { + i = Math.floor(i); + double modularDivision = i % 10; + if (modularDivision == 1) { + return "рубль"; + } else if (modularDivision == 2 || modularDivision == 3 || modularDivision == 4) { + return "рубля"; + } + return "рублей"; + } +} + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..c49d013 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,45 @@ +import java.util.Scanner; + public class Main { + public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + Scanner scanner = new Scanner(System.in); + System.out.println("Введите количество людей:"); + while (!scanner.hasNextInt()) { + System.out.println("Вводить нужно только цифры! Попробуйте заново:"); + scanner.nextLine(); + } + int numberOfPeople = scanner.nextInt(); + while (numberOfPeople <= 1) { + if (numberOfPeople < 1) { + System.out.println("Введенно не корректное количество людей! Попробуйте занво:"); + numberOfPeople = scanner.nextInt(); + } + if (numberOfPeople == 1) { + System.out.println("Вы один и платите только вы. Попробуйте занво: "); + numberOfPeople = scanner.nextInt(); + } + } + + Calculator calculator = new Calculator(); + calculator.costCalculator(); + + double needPay = Calculator.priceSum / numberOfPeople; + + System.out.println("Список выбранных товаров: "); + + for (String str : calculator.menuList) { + System.out.println(str); + } + System.out.printf("Общая сумма: %.2f %s%n", Calculator.priceSum, Calculator.costRounding(Calculator.priceSum)); + System.out.printf("Кол-во человек: %s%n", numberOfPeople); + System.out.printf("Каждый платит по: %.2f %s%n", needPay, Calculator.costRounding(needPay)); + + + } } -} + + +

AltStyle によって変換されたページ (->オリジナル) /