From 84fe0554db9773901f6ad46a8abf3ddb5fcf1fb4 Mon Sep 17 00:00:00 2001 From: Ilya-Peshkov Date: Fri, 28 Oct 2022 15:53:46 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20?= =?UTF-8?q?=D0=BA=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8E=20=C2=AB=D0=9A=D0=B0=D0=BB=D1=8C=D0=BA=D1=83=D0=BB=D1=8F?= =?UTF-8?q?=D1=82=D0=BE=D1=80=20=D1=81=D1=87=D1=91=D1=82=D0=B0=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 21 +++++++++++++++++ src/main/java/Main.java | 22 +++++++++++++++--- src/main/java/People.java | 20 ++++++++++++++++ src/main/java/Product.java | 44 +++++++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 src/main/java/Calculator.java create mode 100644 src/main/java/People.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 0000000..8c0b51f --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,21 @@ +public class Calculator { + + + public void cheque(int number, double totalPrice){ + //Вычисляем, сколько должен заплать каждый человек + double result = (float) totalPrice / (float) number; + int money = (int) Math.floor(result); + + String str = String.format("%.2f", result); + //Вывод суммы, которую должен заплатить каждый поровну + if ((money % 100) / 10 == 1){ + System.out.println("Сумма, которую должен заплатить каждый человек составляет: " + str + " рублей"); + }else if (money % 100 == 1){ + System.out.println("Сумма, которую должен заплатить каждый человек составляет: " + str + " рубль"); + }else if (money % 10 >= 2 && money % 10 <= 4){ + System.out.println("Сумма, которую должен заплатить каждый человек составляет: " + str + " рубля"); + }else { + System.out.println("Сумма, которую должен заплатить каждый человек составляет: " + str + " рублей"); + } + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..345b835 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,24 @@ public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + People people = new People(); + //Ввод количества человек, на которых требуется разделить счет + System.out.println("На скольких человек необходимо разделить счёт?"); + people.numberOfPeople(); + + //Добавление продуктов + Product product = new Product(); + product.addProduct(); + + //Вывод добавленных продуктов + product.addedProducts(product.productList); + + //Вывод суммы, которую должен заплатить каждый человек + Calculator calculator = new Calculator(); + calculator.cheque(people.number, product.totalPrice); + + + } } diff --git a/src/main/java/People.java b/src/main/java/People.java new file mode 100644 index 0000000..89e3329 --- /dev/null +++ b/src/main/java/People.java @@ -0,0 +1,20 @@ +import java.util.Scanner; +public class People { + int number = 0; + + // Добавление количества человек, на которых необходимо разделить всю сумму + public void numberOfPeople(){ + Scanner scanner = new Scanner(System.in);// ваш код начнется здесь + while (true){ + int count = scanner.nextInt(); + if (count > 1){ + number = count; + break; + }else if (count == 1){ + System.out.println("Количество человек, введенное вами, равно 1. Пожалуйста, введите значение больше 1."); + }else{ + System.out.println("Вы ввели некорректное значение. Пожалуйста, введите значение больше 1."); + } + } + } +} \ 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 0000000..8b317c0 --- /dev/null +++ b/src/main/java/Product.java @@ -0,0 +1,44 @@ +import java.util.Scanner; + +public class Product { + + String productList = ""; + String spacing = "\n"; + String str = "Добавленные товары: "; + double totalPrice; + + //Добавление товаров и их стоимости + public void addProduct(){ + Scanner scanner = new Scanner(System.in); + System.out.println("Введите название товара"); + String name = scanner.nextLine(); + productList += str + name + spacing; + System.out.println("Введите стоимость товара"); + double price = scanner.nextDouble(); + totalPrice+=price; + System.out.println("Товар успешно добавлен"); + anotherProduct(); + + } + + //Спрашиваем у пользователя - хочет ли он добавить еще один товар? + public void anotherProduct(){ + Scanner scanner = new Scanner(System.in); + System.out.println("Хотите добавить ещё один товар?"); + String fork = scanner.nextLine(); + + /*Если пользователь вводит "Да", то повторно вызываем метод addProduct + Иначе зввершаем добавление товаров */ + if (fork.equalsIgnoreCase("Да")){ + addProduct(); + + } + + } + + public void addedProducts (String lists){ + + System.out.println(lists); + } + +} \ No newline at end of file From 396a6c57965465eb3d7af4b425c4f528a03b8a9b Mon Sep 17 00:00:00 2001 From: Ilya-Peshkov Date: Sat, 29 Oct 2022 16:40:25 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20?= =?UTF-8?q?=D0=BA=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8E=20=C2=AB=D0=9A=D0=B0=D0=BB=D1=8C=D0=BA=D1=83=D0=BB=D1=8F?= =?UTF-8?q?=D1=82=D0=BE=D1=80=20=D1=81=D1=87=D1=91=D1=82=D0=B0=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 3 --- src/main/java/People.java | 24 +++++++++++++++++------- src/main/java/Product.java | 24 ++++++++++++++++++------ 3 files changed, 35 insertions(+), 16 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 345b835..1454c31 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -11,9 +11,6 @@ public static void main(String[] args) { Product product = new Product(); product.addProduct(); - //Вывод добавленных продуктов - product.addedProducts(product.productList); - //Вывод суммы, которую должен заплатить каждый человек Calculator calculator = new Calculator(); calculator.cheque(people.number, product.totalPrice); diff --git a/src/main/java/People.java b/src/main/java/People.java index 89e3329..2bab41e 100644 --- a/src/main/java/People.java +++ b/src/main/java/People.java @@ -4,17 +4,27 @@ public class People { // Добавление количества человек, на которых необходимо разделить всю сумму public void numberOfPeople(){ - Scanner scanner = new Scanner(System.in);// ваш код начнется здесь + while (true){ - int count = scanner.nextInt(); - if (count > 1){ - number = count; - break; - }else if (count == 1){ - System.out.println("Количество человек, введенное вами, равно 1. Пожалуйста, введите значение больше 1."); + Scanner scanner = new Scanner(System.in); + if (scanner.hasNextInt()){ + int count = scanner.nextInt(); + if (count > 1){ + number = count; + break; + }else if (count == 1){ + System.out.println("Количество человек, введенное вами, равно 1. Пожалуйста, введите значение больше 1."); + }else{ + System.out.println("Вы ввели некорректное значение. Пожалуйста, введите значение больше 1."); + } + }else{ System.out.println("Вы ввели некорректное значение. Пожалуйста, введите значение больше 1."); + + } + + } } } \ No newline at end of file diff --git a/src/main/java/Product.java b/src/main/java/Product.java index 8b317c0..07933cc 100644 --- a/src/main/java/Product.java +++ b/src/main/java/Product.java @@ -14,13 +14,22 @@ public void addProduct(){ String name = scanner.nextLine(); productList += str + name + spacing; System.out.println("Введите стоимость товара"); - double price = scanner.nextDouble(); - totalPrice+=price; - System.out.println("Товар успешно добавлен"); - anotherProduct(); - + while (true){ + if (scanner.hasNextDouble()){ + double price = scanner.nextDouble(); + totalPrice+=price; + System.out.println("Товар успешно добавлен"); + anotherProduct(); + break; + }else { + System.out.println("Вы ввели некорректное значение. Пожалуйста, введите корректное значение стоимости"); + scanner.nextLine(); + } + } } + + //Спрашиваем у пользователя - хочет ли он добавить еще один товар? public void anotherProduct(){ Scanner scanner = new Scanner(System.in); @@ -28,14 +37,17 @@ public void anotherProduct(){ String fork = scanner.nextLine(); /*Если пользователь вводит "Да", то повторно вызываем метод addProduct - Иначе зввершаем добавление товаров */ + Иначе завершаем добавление продуктов и выводим список добавленных продуктов*/ if (fork.equalsIgnoreCase("Да")){ addProduct(); + }else { + addedProducts(productList); } } + //Вывод добавленных продуктов public void addedProducts (String lists){ System.out.println(lists);