From e1f6893023e1e00e765909b127129a7ab6ece3d6 Mon Sep 17 00:00:00 2001 From: s-buvaka Date: 2022年7月27日 23:03:27 +0300 Subject: [PATCH 1/3] 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: 2022年7月27日 23:13:52 +0300 Subject: [PATCH 2/3] 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 bffa9ca68276f9385cae6d6fc37f6a1b10fdc748 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: 2022年11月25日 16:24:15 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=9C=D0=BD=D0=BE=D0=B6=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D0=B2=D0=BE=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 98 +++++++++++++++++++++++++++++++++++ src/main/java/Main.java | 19 ++++++- src/main/java/Product.java | 8 +++ 3 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 src/main/java/Calculator.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..3e18389 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,98 @@ +import java.util.Scanner; + + +public class Calculator { + // Метод добавления количества персон + public int addPerson(){ + int person = -1; + Scanner input = new Scanner(System.in); + while (person <= 0) { + System.out.println("Введите количество персон"); + if (input.hasNextInt()) { + person = input.nextInt(); + if (person <= 0) { + System.out.println("Вы ввели не верное количесво персон"); + } + } else { + System.out.println("Вы ввели ошибочное значение"); + input.next(); // Сдвиг сканера, иначе бесконечный цикл + } + } + return person; + } + + private Product addProduct(){ + String name = null; + double cost = -1; + Product product; + Scanner input = new Scanner(System.in); + System.out.println("Введите название продукта"); + // В название принимается любое значение + if(input.hasNext()) { + name = input.next(); + } + + System.out.println("Введите стоимость продукта в формате \"рубли,копейки [10,45]\""); + while (cost <= 0) { + if (input.hasNextDouble()) { + cost = input.nextDouble(); + } + else { + System.out.println("Вы ввели не корректную стоимость"); + input.next(); // Сдвиг + } + } + System.out.println("Вы добавили товар: \"" + name + "\" стоимостью: " + cost); + product = new Product(name,cost); + return product; + } + + //Получить список всех продуктов и финальную стоимость + public double summProducts() + { + String productsAllPerson = ""; + double costAllPerson = 0; + Scanner input = new Scanner(System.in); + String answer; + Product product; + String strDialog; + while(true) { + System.out.println("Хотите ли Вы добавить новый продукт? (Да/Нет/Завершить)"); + if (input.hasNext()) { + answer = input.next(); + if (answer.equalsIgnoreCase("да")) { + product = addProduct(); + productsAllPerson = productsAllPerson + product.productName + "\n"; + costAllPerson = costAllPerson + product.cost; + } + if (answer.equalsIgnoreCase("нет") || answer.equalsIgnoreCase("завершить")) { + break; + } + } + } + strDialog = "Добавленные товары:\n%s\nОбщей стоимостью: %.2f %s"; + strDialog = String.format(strDialog, productsAllPerson, costAllPerson, getEnding(costAllPerson)); + System.out.println(strDialog); + return costAllPerson; + } + + // Склонение рубля + public String getEnding(double cost){ + int preLast = (int)Math.floor(cost) % 100 / 10; + if (preLast == 1){ + return "рублей"; + } + + switch ((int)Math.floor(cost) % 10){ + case 1: + return "рубль"; + case 2: + case 3: + case 4: + return "рубля"; + default: + return "рублей"; + } + } +} + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..19352b3 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,25 @@ +//import java.util.Scanner; + public class Main { public static void main(String[] args) { // ваш код начнется здесь // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + System.out.println("Привет!"); + Calculator calc = new Calculator(); + // Запрашиваем количество персон у пользователя + int person = calc.addPerson(); + // Запрашиваем список продуктов со стоимостью + double costAll = calc.summProducts(); + double cost = costAll / person; + String dialog = "Каждый из друзей должен заплатить: %.2f %s"; + dialog = String.format(dialog, cost, calc.getEnding(cost)); + System.out.println(dialog); + + System.out.println("Завершено!"); } + + + + } diff --git a/src/main/java/Product.java b/src/main/java/Product.java new file mode 100644 index 0000000..633d910 --- /dev/null +++ b/src/main/java/Product.java @@ -0,0 +1,8 @@ +public class Product { + String productName; + double cost; + Product(String productName, double cost){ + this.productName = productName; + this.cost = cost; + } +}

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