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 fc916af866131ed9dd950841ddcfbf1174bcc782 Mon Sep 17 00:00:00 2001 From: STRATEG Date: Sat, 29 Oct 2022 19:32:41 +0300 Subject: [PATCH 3/4] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=20"?= =?UTF-8?q?=D0=9A=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=D1=91=D1=82=D0=B0"=20=D0=A0=D1=8F=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA=D0=B8=D0=BD=D0=BE=D0=B9=20=D0=90.=D0=9D.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 59 +++++++++++++++++++ src/main/java/Main.java | 106 +++++++++++++++++++++++++++++++++- src/main/java/PrintRub.java | 27 +++++++++ 3 files changed, 189 insertions(+), 3 deletions(-) create mode 100644 src/main/java/Calculator.java create mode 100644 src/main/java/PrintRub.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 0000000..5c7e893 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,59 @@ +import java.util.Scanner; + +public class Calculator { + public static void calculator(int delitel) { + + Scanner scannerProduct = new Scanner(System.in); + String allProduct = ""; + Float allPrice = 0.0f; + while (true) { + System.out.println("Введите название товара"); + String product = scannerProduct.next(); + String and = "Завершить"; + if (product.equalsIgnoreCase(and)) { + break; + } + + System.out.println("Введите стоимость товара (рубли.копейки)"); + Float price = cost(); + allProduct = allProduct + "\n" + product + ": " + price; + allPrice = allPrice + price; + System.out.println("Товар добавлен, хотите добавить еще товар ? \n Если нет, введите команду \"Завершить\""); + String answer = scannerProduct.next(); + if (answer.equalsIgnoreCase(and)) { + break; + } + + } + float personPrice = allPrice / delitel; + String personPriceString = String.format("%.2f", personPrice); + int personPriceInteger = (int) personPrice; + String rub = PrintRub.getStringRub(personPriceInteger); + System.out.println("Добавленные товары:" + "\n" + allProduct + "\n" + "Сумма к оплате для каждого человека - " + personPriceString + rub); + + } + + //введение цены + public static float cost() { + Scanner scanner = new Scanner(System.in); + float price = 0.0f; + try { + String value = scanner.next().trim(); + price = Float.parseFloat(value); + int pointPosition = value.indexOf('.'); + if (!(pointPosition == -1 || value.length() - 1 - pointPosition <= 2)) { + System.out.println("Введено некорректное значение, попробуйте еще."); + price = cost(); + } + if (price > 0) { + System.out.println("Введено некорректное значение, попробуйте еще."); + price = cost(); + } + } catch (Exception e) { + System.out.println("Введено некорректное значение, попробуйте еще."); + price = cost(); + } + + return price; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..83128ba 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,108 @@ +import java.util.Scanner; + public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + System.out.println("Здравствуйте! На сколько человек разделить счёт?"); + Scanner scanner = new Scanner(System.in); + int x = 0; + while (true) { + try { + x = scanner.nextInt(); + if (x >= 2) { // если пользователь вводит корректное значение + System.out.println(); + break; + } + } catch (Exception e) { + scanner.next(); + } + System.out.println("Введено некорректное значение, попробуйте еще."); + } + Calculator.calculator(x); } + +// +// +// public static void calculator(int delitel) { +// +// Scanner scannerProduct = new Scanner(System.in); +// String allProduct = ""; +// Float allPrice = 0.0f; +// while (true) { +// System.out.println("Введите название товара"); +// String product = scannerProduct.next(); +// String and = "Завершить"; +// if (product.equalsIgnoreCase(and)) { +// break; +// } +// +// System.out.println("Введите стоимость товара (рубли.копейки)"); +// Float price = cost(); +// allProduct = allProduct + "\n" + product + ": " + price; +// allPrice = allPrice + price; +// System.out.println("Товар добавлен, хотите добавить еще товар ? \n Если нет, введите команду \"Завершить\""); +// String answer = scannerProduct.next(); +// if (answer.equalsIgnoreCase(and)) { +// break; +// } +// +// } +// float personPrice = allPrice / delitel; +// String personPriceString = String.format("%.2f", personPrice); +// int personPriceInteger = (int) personPrice; +// String rub = conjugation(personPriceInteger); +// System.out.println("Добавленные товары:" + "\n" + allProduct + "\n" + "Сумма к оплате для каждого человека - " + personPriceString + rub); +// +// } +// +// //введение цены +// public static float cost() { +// Scanner scanner = new Scanner(System.in); +// float price = 0.0f; +// try { +// String value = scanner.next().trim(); +// price = Float.parseFloat(value); +// int pointPosition = value.indexOf('.'); +// if (!(pointPosition == -1 || value.length() - 1 - pointPosition <= 2)) { +// System.out.println("Введено некорректное значение, попробуйте еще."); +// price = cost(); +// } +// if (price > 0) { +// System.out.println("Введено некорректное значение, попробуйте еще."); +// price = cost(); +// } +// } catch (Exception e) { +// System.out.println("Введено некорректное значение, попробуйте еще."); +// price = cost(); +// } +// +// return price; +// } + +// public static String conjugation(int integer) { +// int remainder = integer % 100; +// if (remainder >= 11 && remainder <= 14) { +// return "рублей"; +// } +// remainder = integer % 10; +// switch (remainder) { +// case 1: +// return "рубль"; +// case 2: +// case 3: +// case 4: +// return "рубля"; +// case 0: +// case 5: +// case 6: +// case 7: +// case 8: +// case 9: +// return "рублей"; +// default: +// return "рубль"; +// } +// +// } } + diff --git a/src/main/java/PrintRub.java b/src/main/java/PrintRub.java new file mode 100644 index 0000000..822ab74 --- /dev/null +++ b/src/main/java/PrintRub.java @@ -0,0 +1,27 @@ +class PrintRub { + public static String getStringRub(int integer) { + int remainder = integer % 100; + if (remainder >= 11 && remainder <= 14) { + return "рублей"; + } + remainder = integer % 10; + switch (remainder) { + case 1: + return "рубль"; + case 2: + case 3: + case 4: + return "рубля"; + case 0: + case 5: + case 6: + case 7: + case 8: + case 9: + return "рублей"; + default: + return "рубль"; + } + + } +} From b50126553b3d0d941bd4ee5dd0478b18a4346936 Mon Sep 17 00:00:00 2001 From: STRATEG Date: Sat, 29 Oct 2022 19:56:19 +0300 Subject: [PATCH 4/4] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=20"?= =?UTF-8?q?=D0=9A=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=D1=91=D1=82=D0=B0"=20=D0=A0=D1=8F=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA=D0=B8=D0=BD=D0=BE=D0=B9=20=D0=90.=D0=9D.=20=D0=94?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20=D0=B8=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BA=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 13 ++++++------- src/main/java/Product.java | 5 +++++ 2 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 src/main/java/Product.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java index 5c7e893..9657425 100644 --- a/src/main/java/Calculator.java +++ b/src/main/java/Calculator.java @@ -4,8 +4,7 @@ public class Calculator { public static void calculator(int delitel) { Scanner scannerProduct = new Scanner(System.in); - String allProduct = ""; - Float allPrice = 0.0f; + Product productAll = new Product(); while (true) { System.out.println("Введите название товара"); String product = scannerProduct.next(); @@ -16,8 +15,8 @@ public static void calculator(int delitel) { System.out.println("Введите стоимость товара (рубли.копейки)"); Float price = cost(); - allProduct = allProduct + "\n" + product + ": " + price; - allPrice = allPrice + price; + productAll.allProduct = productAll.allProduct + "\n" + product ; + productAll.allPrice = productAll.allPrice + price; System.out.println("Товар добавлен, хотите добавить еще товар ? \n Если нет, введите команду \"Завершить\""); String answer = scannerProduct.next(); if (answer.equalsIgnoreCase(and)) { @@ -25,11 +24,11 @@ public static void calculator(int delitel) { } } - float personPrice = allPrice / delitel; + float personPrice = productAll.allPrice / delitel; String personPriceString = String.format("%.2f", personPrice); int personPriceInteger = (int) personPrice; String rub = PrintRub.getStringRub(personPriceInteger); - System.out.println("Добавленные товары:" + "\n" + allProduct + "\n" + "Сумма к оплате для каждого человека - " + personPriceString + rub); + System.out.println("Добавленные товары:" + productAll.allProduct + "\n" + "Сумма к оплате для каждого человека - " + personPriceString + " " + rub); } @@ -45,7 +44,7 @@ public static float cost() { System.out.println("Введено некорректное значение, попробуйте еще."); price = cost(); } - if (price > 0) { + if (price < 0) { System.out.println("Введено некорректное значение, попробуйте еще."); price = cost(); } diff --git a/src/main/java/Product.java b/src/main/java/Product.java new file mode 100644 index 0000000..c97dd73 --- /dev/null +++ b/src/main/java/Product.java @@ -0,0 +1,5 @@ +class Product { + String allProduct = ""; + Float allPrice = 0.0f; + +}