From 6ae6ba7894e2a440c15f0ccc9f158bc55ec8860b Mon Sep 17 00:00:00 2001 From: KotlinPunk Date: Fri, 1 Mar 2024 22:14:19 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BD=D1=81=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=BE=D0=B5=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 87 +++++++++++++++++++++++++++++++++++ src/main/java/Main.java | 35 +++++++++++++- src/main/java/Product.java | 10 ++++ 3 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 src/main/java/Calculator.java create mode 100644 src/main/java/Product.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 000000000..68946a774 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,87 @@ +import java.util.InputMismatchException; +import java.util.Scanner; +import java.util.ArrayList; + +public class Calculator { + + public static String calculator(int N) { + + ArrayList products = new ArrayList(); + Scanner scanner = new Scanner(System.in); + double sum = 0; + + while (true) { + + System.out.println("Пожалуйста, введти название товара: "); + String productName = prod(scanner); + + System.out.println("Пожалуйста, укажите в формате 'рубли,копейки' стоимость товара: "); + double priceProduct = prPr(scanner); + sum += priceProduct; + + products.add(new Product(productName, priceProduct)); + System.out.println("Товар успешно добавлен"); + + System.out.println("Будут ли ещё товары? Если нет, пожалуйста, введите 'Завершить'."); + String z = scanner.next(); + + + if(z.equalsIgnoreCase("Завершить")) { + + for (int i = 0; i < products.size(); i++) { + Product product = products.get(i); + System.out.println("Товар: " + product.productName + ", стоимость товара: " + product.priceProduct + "."); + } + + double midSum = sum/N; + + String form = String.format("%.2f", midSum); + String f = rub(midSum); + return form + f; // возвращаем средний чек на человека + } + } + } + + public static String prod (Scanner scanner) { + while (true) { + try { + String productName = scanner.next(); + return productName; + } catch (InputMismatchException q) { + System.out.println("Введено некорректно название товара."); + } finally { + scanner.nextLine(); + } + } + } + public static double prPr (Scanner scanner) { + while (true) { + try { + double prPr = scanner.nextDouble(); + if (prPr <= 0) { + System.out.println("Введена отрицательная или нулевая стоимость товара. Повторите ввод, пожалуйста."); + } else { + return prPr; + } + } catch (InputMismatchException q) { + System.out.println("Введена некорректная стоимость товара."); + } finally { + scanner.nextLine(); + } + } + } + public static String rub(double midSum) { + double v = Math.floor(midSum); + if (v % 100>= 11 && v % 100 <=14) { + return " рублей"; + } else if (v % 10 == 1) { + return " рубль"; + } else if (v % 10 == 2 || v % 10 == 3 || v % 10 == 4) { + return " рубля"; + }else { + return " рублей"; + } + } +} + + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..a27fe5fa8 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,37 @@ +import java.util.Scanner; +import java.util.InputMismatchException; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + System.out.println("На скольких человек необходимо разделить счёт?"); + Scanner scanner = new Scanner(System.in); + int numberOfPeople = 0; // хранит ответ пользователя + + while (true) { + + try { + numberOfPeople = scanner.nextInt(); + } catch (InputMismatchException q) { + System.out.println("Введено не целое число."); + } finally { + scanner.nextLine(); + } + + if (numberOfPeople == 1) { + + System.out.println("В этом случае нет смысла ничего считать и делить."); + + } else if (numberOfPeople < 1) { + + System.out.println("Некорректное значение для подсчёта."); + + } else if (numberOfPeople> 1) { + + String s = Calculator.calculator(numberOfPeople); + + System.out.println("Каждый заплатит: " + s + "."); + } + } } -} \ No newline at end of file +} + diff --git a/src/main/java/Product.java b/src/main/java/Product.java new file mode 100644 index 000000000..ad9826520 --- /dev/null +++ b/src/main/java/Product.java @@ -0,0 +1,10 @@ +public class Product { + + String productName; + double priceProduct; + + public Product (String productName, double priceProduct) { + this.productName = productName; + this.priceProduct = priceProduct; + } +}

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