From d726c959d56a42bb5c71c502da6aecea02d963f2 Mon Sep 17 00:00:00 2001 From: APKArtisan Date: 2024年2月24日 22:25:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BB=D1=8C=D0=BA=D1=83=D0=BB=D1=8F=D1=82=D0=BE?= =?UTF-8?q?=D1=80=20=D1=81=D1=87=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 103 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 2 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..ed0d9512a 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,105 @@ +import java.util.Scanner; +import java.util.ArrayList; +import java.util.Locale; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Calculator calculator = new Calculator(); + calculator.start(); } -} \ No newline at end of file +} +class Calculator{ + Scanner scanner = new Scanner(System.in).useLocale(Locale.US); + String rub; + public void start(){ + System.out.println("Добро пожаловать в калькулятор счета!"); + System.out.println("На скольких человек необходимо разделить счет?"); + while (true){ + System.out.println("Введите количество персон, больше одной..."); + if(scanner.hasNextInt()){ + int command = scanner.nextInt(); + if(command> 1){ + CalculatorScore(command); + break; + }else{ + System.out.println("Некоректное количество гостей!"); + scanner.nextLine(); + } + }else{ + System.out.println("Некоректное количество гостей!"); + scanner.next(); + } + } + } + public void CalculatorScore(int person){ + ArrayList productList = new ArrayList(); + double productSumm = 0; + while(true){ + System.out.println("Введите название товара..."); + scanner.nextLine(); + String product = scanner.nextLine(); + while (true){ + System.out.println("Введите стоимость товара в формате рубли.копейки..."); + if(scanner.hasNextDouble()){ + double cost = scanner.nextDouble(); + scanner.nextLine(); + if(cost> 0 ){ + Product newProduct = new Product(product, cost); + productList.add(newProduct); + productSumm = productSumm + newProduct.price; + rub = formatAmount(productSumm); + System.out.println("Товар " + newProduct.name + " успешно добавлен"); + System.out.printf("Общая стоимость товаров %.2f %s%n", productSumm, rub); + break; + }else{ + System.out.println("Введите неотрицательное число, больше нуля!!!"); + } + }else{ + System.out.println("Некоректное значение!"); + scanner.nextLine(); + + } + } + System.out.println("Хотите добавить еще один товар?"); + String answer = scanner.next(); + if(answer.equalsIgnoreCase("Завершить")){ + System.out.println("Добавленные товары:"); + for (Product productItem : productList) { + System.out.println("Название: " + productItem.name + ", Стоимость: " + productItem.price + " " + (rub = formatAmount(productItem.price))); + } + productSumm = productSumm / person; + rub = formatAmount(productSumm); + System.out.printf("Сколько должен заплатить каждый человек:%n%.2f %s", productSumm, rub); + break; + } + + } + + } + public String formatAmount(Double summ){ + int formatedAmount = (int) Math.floor(summ); + String rub; + + if((formatedAmount % 100>= 11) && (formatedAmount % 100 <= 14)){ + rub ="рублей"; + }else if((formatedAmount % 10) == 1) { + rub ="рубль"; + }else if((formatedAmount % 10> 1) && (formatedAmount % 10 <= 4)) { + rub ="рубля"; + }else{ + rub ="рублей"; + } + + return rub; + } +} + +class Product { + public String name; + public double price; + + public Product(String name, double price) { + this.name = name; + this.price = price; + } +}

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