From a2ea2491dd486b9f59efb745d08580720f064c1d Mon Sep 17 00:00:00 2001 From: smirnofdn Date: 2022年9月28日 14:44:06 +0300 Subject: [PATCH 1/2] add Project 1 --- src/main/java/Calculator.java | 67 +++++++++++++++++++++++++++++++++++ src/main/java/Main.java | 32 ++++++++++++++--- 2 files changed, 95 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..c1c2b76 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,67 @@ +import java.util.Scanner; + +public class Calculator { + String products; + double costOfGoods; + + public Calculator() { + products = ""; + costOfGoods = 0.0; + } + + + public void addProduct() { + while (true) { + Scanner scanner = new Scanner(System.in); + System.out.println("Введите название товара:"); + String product = scanner.nextLine(); + if (product.equalsIgnoreCase("Завершить")) { + break; + } + products = products + product + "\n"; + System.out.println("Введите цену в формате: 'рубли.копейки' [10,45, 11,40]"); + double cost = addCost(); + costOfGoods += cost; + System.out.println("Товар успешно добавлен. \n Хотите добавить ещё товар? Если нет, до введите: \"Завершить.\""); + } + } + + public double addCost() { + while (true) { + Scanner scanner = new Scanner(System.in); + if (scanner.hasNextDouble()) { + double cost = scanner.nextDouble(); + if (cost>= 0) { + return cost; + } else { + System.out.println("Некорректиный ввод. Цена должна быть> 0. Попробуйте еще раз:"); + } + } else { + System.out.println("Некорректиный ввод. Введите цену в формате: 'рубли.копейки' [10,45, 11,40]:"); + } + } + } + + public static String rubleFormat(double cost) { + if ((int) cost % 100 / 10 == 1) { + return "рублей"; + } + + switch ((int) cost % 10) { + case 1: + return "рубль"; + case 2: + case 3: + case 4: + return "рубля"; + default: + return "рублей"; + } + } + + public void addOutput(int friends) { + System.out.println("Добавленные товары: \n" + products); + System.out.printf("Сумма, которую должен заплатить каждый человек: %.2f %s \n ", costOfGoods / friends, rubleFormat(costOfGoods / friends)); + System.out.printf("Общий счет: %.2f %s \n ", costOfGoods, rubleFormat(costOfGoods)); + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..848c01a 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,32 @@ +import java.util.Scanner; + public class Main { + private static final Scanner scanner = new Scanner(System.in); public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + int friends = numberOfPersons(); + } + + static int numberOfPersons() { + Calculator calculator = new Calculator(); + System.out.println("На скольких человек необходимо разделить счёт:"); + int friends = 0; + while (true) { + if (scanner.hasNextInt()) { + friends = scanner.nextInt(); + } else { + scanner.nextInt(); + } + if (friends> 1) { + System.out.println("Делим счет на " + friends + "х"); + calculator.addProduct(); + calculator.addOutput(friends); + break; + } else if (friends == 1) { + System.out.println("Это некорректное значение для подсчёта. Нужно больше 1:"); + } else + System.out.println("Это некорректное значение . Нужно больше число:"); + } + return friends; } -} +} \ No newline at end of file From ca7bb7614e2b8f0d68b57ff6872012651f68493d Mon Sep 17 00:00:00 2001 From: smirnofdn Date: 2022年9月29日 20:18:52 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BB=D0=B8=D1=87=D0=B5=D1=81=D1=82=D0=B2=D0=B0=20=D1=87=D0=B5?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 848c01a..b6292e5 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -15,7 +15,7 @@ static int numberOfPersons() { if (scanner.hasNextInt()) { friends = scanner.nextInt(); } else { - scanner.nextInt(); + scanner.next(); } if (friends> 1) { System.out.println("Делим счет на " + friends + "х");

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