From 147a4bccaca4277871d7905a60cfd40a7a1a31bb Mon Sep 17 00:00:00 2001 From: IlyaKorastylev Date: Sat, 29 Oct 2022 17:54:03 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=E2=84=96?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 ++ .idea/compiler.xml | 6 +++ .idea/gradle.xml | 17 ++++++++ .idea/misc.xml | 10 +++++ .idea/vcs.xml | 6 +++ src/main/java/Main.java | 96 +++++++++++++++++++++++++++++++++++++++-- 6 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..61a9130 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..aa1559a --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..a47d29e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..3ea619f 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,96 @@ +import java.util.Scanner; + public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + bill(); + } + public static int countOfGuests () { // метод подсчета количества гостей + System.out.println("Здравствуйте! На сколько человек необходимо разделить счет?"); + int count; // число гостей + Scanner scanner = new Scanner(System.in); + + while (true) { + if (scanner.hasNextInt()) { + int i = scanner.nextInt(); + if (i == 1) { + System.out.println("Для одного гостя разбивать счёт нет необходимости. Введите другое число гостей"); + } else if (i < 1) { + System.out.println("Гости не пришли. Платить некому. Введите другое число гостей."); + } else { + count = i; // запомнили число гостей + break; + } + } else { + System.out.println("Введите целое число"); + scanner.nextLine(); + } + } + return count; + } + + public static void bill() { // метод формирования счёта + class Product { + String name; + float price; + + void input() { + Scanner scanner = new Scanner(System.in); + System.out.println("Введите наименование товара"); + name = scanner.next(); + + System.out.println("Введите стоимость товара в формате 'рубли.копейки'"); + while (true) { + if (scanner.hasNextFloat()) { + price = scanner.nextFloat(); + if (price < 0) { + System.out.println("Введено недопустимое значение. Введите целое число больше 0"); + scanner.nextLine(); + } else { + break; + } + } else { + System.out.println("Введено недопустимое значение. Введите целое число больше 0"); + scanner.nextLine(); + } + } + } + } + + Product product = new Product(); // создали новый объект класса Product + float sum = 0.00f; // переменная для хранения суммы чека + String order = ""; // переменная для хранения перечня продуктов + Scanner scannerAdd = new Scanner(System.in); + int guests = countOfGuests(); // число гостей, на которых делим счет + + while (true) { + product.input(); + + order = order.concat(product.name).concat("\n"); + sum = sum + product.price; + + System.out.println("Товар успешно добавлен в калькулятор!"); + System.out.println("Чтобы завершить добавление товаров введите команду Завершить.\n\nДля продолжения внесения товаров в калькулятор введите любое другое значение."); + String add = scannerAdd.next(); + if (add.equalsIgnoreCase("Завершить")) { + System.out.println("Список товаров:\n" + order); + float guestDebt = sum / guests; // расчёт суммы для каждого гостя + if ((Math.floor(guestDebt) % 100 >= 11) && (Math.floor(guestDebt) % 100 <= 19)) { + String format = "Каждый гость должен: %.2f рублей"; + System.out.println(String.format(format, guestDebt)); + } else if (Math.floor(guestDebt) % 10 > 5) { + String format = "Каждый гость должен: %.2f рублей"; + System.out.println(String.format(format, guestDebt)); + } else if ((2 <= Math.floor(guestDebt) % 10) && (Math.floor(guestDebt) % 10 <= 4)) { + String format = "Каждый гость должен: %.2f рубля"; + System.out.println(String.format(format, guestDebt)); + } else { + String format = "Каждый гость должен: %.2f рубль"; + System.out.println(String.format(format, guestDebt)); + } + break; + } + } } -} +} \ No newline at end of file From f09f3d4f82f62d0345802545c9accd46c65f5c51 Mon Sep 17 00:00:00 2001 From: IlyaKorastylev Date: Sun, 30 Oct 2022 23:18:32 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=E2=84=96?= =?UTF-8?q?1=20(=D0=92=D0=B0=D1=80=D0=B8=D0=B0=D0=BD=D1=82=20=E2=84=962)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 1 + src/main/java/Calculate.java | 68 +++++++++++++++++++++++ src/main/java/CountOfGuests.java | 28 ++++++++++ src/main/java/Main.java | 92 +------------------------------- 4 files changed, 99 insertions(+), 90 deletions(-) create mode 100644 src/main/java/Calculate.java create mode 100644 src/main/java/CountOfGuests.java diff --git a/.idea/gradle.xml b/.idea/gradle.xml index aa1559a..6cec569 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,5 +1,6 @@ +