From e1f6893023e1e00e765909b127129a7ab6ece3d6 Mon Sep 17 00:00:00 2001 From: s-buvaka Date: Wed, 27 Jul 2022 23:03:27 +0300 Subject: [PATCH 1/4] Remove classes --- src/main/java/Calculator.java | 22 ---------------- src/main/java/Formatter.java | 17 ------------- src/main/java/Item.java | 10 -------- src/main/java/Main.java | 47 +++-------------------------------- 4 files changed, 3 insertions(+), 93 deletions(-) delete mode 100644 src/main/java/Calculator.java delete mode 100644 src/main/java/Formatter.java delete mode 100644 src/main/java/Item.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java deleted file mode 100644 index 2fbc00d..0000000 --- a/src/main/java/Calculator.java +++ /dev/null @@ -1,22 +0,0 @@ -class Calculator { - - int friendsCount; - - String cart = "Добавленные товары:"; - double totalPrice = 0; - - Calculator(int friendsCount) { - this.friendsCount = friendsCount; - } - - void addItem(Item item) { - totalPrice += item.price; - cart = cart + "\n" + item.name; - - System.out.println(item.name + " в корзине"); - } - - double divideSum() { - return totalPrice / friendsCount; - } -} diff --git a/src/main/java/Formatter.java b/src/main/java/Formatter.java deleted file mode 100644 index 3f915b7..0000000 --- a/src/main/java/Formatter.java +++ /dev/null @@ -1,17 +0,0 @@ -public class Formatter { - - String formatValue(double price) { - double roundedValue = Math.floor(price); - if (roundedValue == 1) { - return "рубль"; - } else if (roundedValue >= 2 && roundedValue <= 4) { - return "рубля"; - } else { - return "рублей"; - } - } - - String roundResult(final double result) { - return String.format("%.2f", result); - } -} diff --git a/src/main/java/Item.java b/src/main/java/Item.java deleted file mode 100644 index fad8a4e..0000000 --- a/src/main/java/Item.java +++ /dev/null @@ -1,10 +0,0 @@ -class Item { - - String name; - double price; - - Item(String name, double price) { - this.name = name; - this.price = price; - } -} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 11ba5d3..a9198c4 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,49 +1,8 @@ -import java.util.Scanner; - public class Main { public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - - int friendCount; - while (true) { - System.out.println("На сколько человек необходимо разделить счет?"); - friendCount = scanner.nextInt(); - - if (friendCount > 1) { - break; - } else if (friendCount == 1) { - System.out.println( - "Нет смысла делить сумму на одного человека. Давайте попробуем ввести другое значение, которое будет больше единицы."); - } else { - System.out.println("Неверное количество друзей. Значение должно быть болье единицы, давайте попробуем еще раз."); - } - } - - Calculator calculator = new Calculator(friendCount); - - while (true) { - System.out.println("Введите название товара"); - String name = scanner.next(); - - System.out.println("Введите стоимость товара в формате: 'рубли.копейки' [10.45, 11.40]"); - double price = scanner.nextDouble(); - - calculator.addItem(new Item(name, price)); - - System.out.println( - "Хотите добавить еще один товар? Введите любой символ для продолжения, либо 'Завершить' если больше нет товаров для добавления"); - String answer = scanner.next(); - - if (answer.equalsIgnoreCase("Завершить")) { - break; - } - } - - double result = calculator.divideSum(); - Formatter formatter = new Formatter(); - - System.out.println(calculator.cart); - System.out.println("Каждому человеку к оплате: " + formatter.roundResult(result) + " " + formatter.formatValue(result)); + // ваш код начнется здесь + // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости + System.out.println("Привет Мир"); } } From c521234c876be18b465b2fd45ef8a71d814fb7a9 Mon Sep 17 00:00:00 2001 From: s-buvaka Date: Wed, 27 Jul 2022 23:13:52 +0300 Subject: [PATCH 2/4] Change project name --- settings.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle b/settings.gradle index 716abf2..be110bf 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,4 +12,4 @@ dependencyResolutionManagement { mavenCentral() } } -rootProject.name = "BillCalculator" +rootProject.name = "Java-Module-Project" From 84fe0554db9773901f6ad46a8abf3ddb5fcf1fb4 Mon Sep 17 00:00:00 2001 From: Ilya-Peshkov Date: Fri, 28 Oct 2022 15:53:46 +0300 Subject: [PATCH 3/4] =?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 4/4] =?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);