From c88b19f0b2c3084d9f60ba63ac825a73f29f7816 Mon Sep 17 00:00:00 2001 From: Swart03 Date: 2023年8月30日 09:05:22 +0300 Subject: [PATCH 1/6] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..9aeea3b91 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,30 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner scanner = new Scanner(System.in); + int peopleAmount; + peopleAmount = scanner.nextInt(); + System.out.println("На скольких человек нужно разделить счет?");//"На скольких человек нужно разделить счет?" + //Неверное количество гостей. Количество гостей должно быть введено в виде цифрового значения, и гостей должно быть больше одного. + while(true){ + System.out.println("На скольких человек нужно разделить счет?"); + if(scanner.hasNextInt()) { + if(peopleAmount> 1); + break; + } else { + System.out.println("Неверное количество гостей. Количество гостей должно быть введено в виде цифрового значения, " + + "и гостей должно быть больше одного."); + System.out.println("На скольких человек нужно разделить счет?"); + } + + + + } + + + + + } } \ No newline at end of file From 696e2f6e18943e31f5d13091a478a2d0179480c5 Mon Sep 17 00:00:00 2001 From: Swart03 Date: 2023年8月30日 09:07:55 +0300 Subject: [PATCH 2/6] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 src/main/java/Calculator.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 000000000..702e231cd --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,2 @@ +public class Calculator { +} From 2f57b64acc6960cf94c5fb39f9435c4b9a21b093 Mon Sep 17 00:00:00 2001 From: Swart03 Date: 2023年8月30日 09:31:07 +0300 Subject: [PATCH 3/6] =?UTF-8?q?=D0=9F=D0=B8=D0=BF=D0=BB=20=D0=AD=D0=BC?= =?UTF-8?q?=D0=B0=D1=83=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/PeopleAmount.java | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 src/main/java/PeopleAmount.java diff --git a/src/main/java/PeopleAmount.java b/src/main/java/PeopleAmount.java new file mode 100644 index 000000000..72c2b6aae --- /dev/null +++ b/src/main/java/PeopleAmount.java @@ -0,0 +1,2 @@ +public class PeopleAmount { +} From cc9abe75ed7e4d4692f28ac95c7639ddeea59adf Mon Sep 17 00:00:00 2001 From: Swart03 Date: 2023年8月30日 10:06:47 +0300 Subject: [PATCH 4/6] PeopleAmount.java --- src/main/java/Main.java | 23 +---------------------- src/main/java/PeopleAmount.java | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 9aeea3b91..539704ac4 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -3,28 +3,7 @@ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); - int peopleAmount; - peopleAmount = scanner.nextInt(); - System.out.println("На скольких человек нужно разделить счет?");//"На скольких человек нужно разделить счет?" - //Неверное количество гостей. Количество гостей должно быть введено в виде цифрового значения, и гостей должно быть больше одного. - while(true){ - System.out.println("На скольких человек нужно разделить счет?"); - if(scanner.hasNextInt()) { - if(peopleAmount> 1); - break; - } else { - System.out.println("Неверное количество гостей. Количество гостей должно быть введено в виде цифрового значения, " + - "и гостей должно быть больше одного."); - System.out.println("На скольких человек нужно разделить счет?"); - } - - - - } - - - - + PeopleAmount peopleAmount = new PeopleAmount(); } } \ No newline at end of file diff --git a/src/main/java/PeopleAmount.java b/src/main/java/PeopleAmount.java index 72c2b6aae..038d382da 100644 --- a/src/main/java/PeopleAmount.java +++ b/src/main/java/PeopleAmount.java @@ -1,2 +1,24 @@ +import java.util.Scanner; + public class PeopleAmount { +int readPeopleAmount(Scanner scanner) { + int amount; + System.out.println("На скольких человек делим счёт?"); + while(true) { + if (scanner.hasNextInt()) { + amount = scanner.nextInt(); + if (amount <= 1) { + System.out.println("Количество человек должно быть больше одного."); + } else { + scanner.nextLine(); + return amount; + } + } else { + System.out.println("Количпество человек болжно быть введено в виде числа."); + scanner.next(); + } + } + +} + } From 647344450d19fea0973fe3e4ba58de967fe0d390 Mon Sep 17 00:00:00 2001 From: Swart03 Date: 2023年8月30日 10:16:59 +0300 Subject: [PATCH 5/6] Classes --- src/main/java/PriceFormat.java | 2 ++ src/main/java/Product.java | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 src/main/java/PriceFormat.java create mode 100644 src/main/java/Product.java diff --git a/src/main/java/PriceFormat.java b/src/main/java/PriceFormat.java new file mode 100644 index 000000000..ba54d0ff6 --- /dev/null +++ b/src/main/java/PriceFormat.java @@ -0,0 +1,2 @@ +public class PriceFormat { +} diff --git a/src/main/java/Product.java b/src/main/java/Product.java new file mode 100644 index 000000000..813cdbb86 --- /dev/null +++ b/src/main/java/Product.java @@ -0,0 +1,4 @@ +public class Product { + String name; + double price; +} From 47fc1c42459913027469cf18e3575db10585b972 Mon Sep 17 00:00:00 2001 From: Swart03 Date: 2023年8月30日 10:36:50 +0300 Subject: [PATCH 6/6] =?UTF-8?q?=D0=9D=D0=B0=20=D1=80=D0=B5=D0=B2=D1=8C?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 60 +++++++++++++++++++++++++++++++-- src/main/java/Main.java | 4 +++ src/main/java/PeopleAmount.java | 2 +- src/main/java/PriceFormat.java | 13 +++++++ 4 files changed, 76 insertions(+), 3 deletions(-) diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java index 702e231cd..4e72dcd44 100644 --- a/src/main/java/Calculator.java +++ b/src/main/java/Calculator.java @@ -1,2 +1,58 @@ -public class Calculator { -} + + import java.util.Scanner; + + public class Calculator { + StringBuilder productList = new StringBuilder("Добавленные товары:"); + double productListPrice; + String guess = ""; + double productPrice; + + private void readProductName(Scanner scanner, Product product) { + System.out.println("Введите название товара:"); + product.name = scanner.nextLine(); + } + + private void readProductPrice(Scanner scanner, Product product) { + System.out.println("Введите стоимость товара:"); + while (true) { + if (scanner.hasNextDouble()) { + productPrice = scanner.nextDouble(); + if (productPrice> 0) { + product.price = productPrice; + scanner.nextLine(); + break; + } else { + System.out.println("Цена не может быть отрицательной или нулевой, введите снова"); + } + + } else { + System.out.println("Некорректные данные."); + scanner.next(); + } + } + } + + private void calculateTotalPrice(Product product) { + productListPrice += product.price; + } + + void addNewProduct(Scanner scanner) { + while (!guess.equalsIgnoreCase("завершить")) { + Product product = new Product(); + readProductName(scanner, product); + readProductPrice(scanner, product); + productList.append("\n").append(product.name); + calculateTotalPrice(product); + System.out.println("Товар \"" + product.name + "\" успешно добавлен.\n" + + "Хотите добавить ещё товар?"); + guess = scanner.nextLine(); + } + } + + void printProductList(int people) { + String roundedPrice = PriceFormat.roundPrice(productListPrice / people); + System.out.println(productList.toString()); + System.out.println("С каждого человека " + roundedPrice+ " " + PriceFormat.rubInflection(productListPrice / people)); + } + } + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 539704ac4..886bf8b18 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -4,6 +4,10 @@ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); PeopleAmount peopleAmount = new PeopleAmount(); + Calculator calculator = new Calculator(); + int people = peopleAmount.readPeopleAmount(scanner); + calculator.addNewProduct(scanner); + calculator.printProductList(people); } } \ No newline at end of file diff --git a/src/main/java/PeopleAmount.java b/src/main/java/PeopleAmount.java index 038d382da..345017294 100644 --- a/src/main/java/PeopleAmount.java +++ b/src/main/java/PeopleAmount.java @@ -14,7 +14,7 @@ int readPeopleAmount(Scanner scanner) { return amount; } } else { - System.out.println("Количпество человек болжно быть введено в виде числа."); + System.out.println("Количество человек болжно быть введено в виде числа."); scanner.next(); } } diff --git a/src/main/java/PriceFormat.java b/src/main/java/PriceFormat.java index ba54d0ff6..4397c52ea 100644 --- a/src/main/java/PriceFormat.java +++ b/src/main/java/PriceFormat.java @@ -1,2 +1,15 @@ public class PriceFormat { + static String roundPrice(double price) { + return String.format("%.2f", price); + } + + static String rubInflection(double price) { + if (price % 10 == 1 && price % 100 != 11) { + return "рубль"; + } else if (price % 10>= 2 && price % 10 <= 4 && (price % 100 < 10 || price % 100>= 20)) { + return "рубля"; + } else { + return "рублей"; + } + } }

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