From e5676678de3656d564e8432f2b5797ccb6c1509c Mon Sep 17 00:00:00 2001 From: Lodrean Date: 2023年7月26日 12:48:15 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=94=D0=BB=D1=8F=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B1=D1=80=D0=BE=D1=81=D0=BA=D0=B8=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 7 +++++ src/main/java/Good.java | 13 +++++++++ src/main/java/Main.java | 52 +++++++++++++++++++++++++++++++++-- 3 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 src/main/java/Calculator.java create mode 100644 src/main/java/Good.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 000000000..46919d719 --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,7 @@ +public class Calculator { + double value; + + Calculator(double value) { + this.value = value; + } +} \ No newline at end of file diff --git a/src/main/java/Good.java b/src/main/java/Good.java new file mode 100644 index 000000000..56f41ff80 --- /dev/null +++ b/src/main/java/Good.java @@ -0,0 +1,13 @@ +public class Good { + String name; + double value; + + Good (String goodName, double goodValue){ + name = goodName; + value = goodValue; + } + String listGoods= name; + void listOfGoods (){ + listGoods=listGoods+name+"/n"; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..9b4ed26bb 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,52 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); - } -} \ No newline at end of file + System.out.println("Введите количество человек, на которых необходимо разделить счет"); + Scanner scanner = new Scanner(System.in); + while (!scanner.hasNextInt() && scanner.hasNext()) { + System.out.println("некорректные данные, введите еще раз количество персон. Вы ввели: " + scanner.next()); + } + int personCount = scanner.nextInt(); + + while (personCount<=1){ + System.out.println("Введенное значение неверно, введите количество человек больше 1"); + personCount = scanner.nextInt(); + } + + String name=""; + double value; + String listOfGoods=""; + double summOfGoods= 0.00; + System.out.println("Введите товар, который хотите добавить в счёт"); + while (true){ + name = scanner.next(); + if (name.equalsIgnoreCase("завершить")){ + break; + } + listOfGoods+=name + "\n"; + System.out.println("Введите стоимость доавляемого товара "); + while (!scanner.hasNextDouble() && scanner.hasNext()) { + System.out.println("некорректные данные, введите еще раз сумму. Вы ввели: " + scanner.next()); + } + value = scanner.nextDouble(); + + if (value < 0){ + System.out.println("некорректные данные, введите еще раз:"); + value = scanner.nextDouble(); + } + summOfGoods+=value; + System.out.println("Товар "+ name + " добавлен. Если хотите прекратить добавление товаров, введите команду \"завершить\". Введите новый товар"); + } + + System.out.println(listOfGoods); + System.out.println(summOfGoods); + //Good.listOfGoods(); + + } + //проверяем корректность введенных данных(должно быть> 1) + //System.out.println("Добавленные товары:/n" + list + "Сумма, котору должен заплатить каждый + // человек:" + summ + formatting.rubles(summ)" );// печатаем итоговый список товаров и + // сумму, которую должен заплатить каждый клиент, форматируя рубли + +} From 1afb2fc1181c73941ccde4e5d8aa87a6040f7837 Mon Sep 17 00:00:00 2001 From: lodrean Date: 2023年7月26日 21:35:58 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=88=D1=83=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=B8=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calculator.java | 6 ++--- src/main/java/Formatting.java | 19 ++++++++++++++++ src/main/java/Good.java | 10 +-------- src/main/java/Main.java | 41 +++++++++++++++-------------------- 4 files changed, 39 insertions(+), 37 deletions(-) create mode 100644 src/main/java/Formatting.java diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java index 46919d719..566ec44e6 100644 --- a/src/main/java/Calculator.java +++ b/src/main/java/Calculator.java @@ -1,7 +1,5 @@ public class Calculator { - double value; - - Calculator(double value) { - this.value = value; + static double aveSumm (double summ, int countOfPerson){ + return summ / countOfPerson; } } \ No newline at end of file diff --git a/src/main/java/Formatting.java b/src/main/java/Formatting.java new file mode 100644 index 000000000..496be7c80 --- /dev/null +++ b/src/main/java/Formatting.java @@ -0,0 +1,19 @@ +public class Formatting { + + + static String round(double ruble){ + return String.format("%.2f", ruble); + } + public static String declination(double rubles){ + var deci = (int) rubles % 100 / 10; + if (deci == 1) + { + return "рублей"; + } + return switch ((int) rubles % 10) { + case 1 -> "рубль"; + case 2, 3, 4 -> "рубля"; + default -> "рублей"; + }; + } + } diff --git a/src/main/java/Good.java b/src/main/java/Good.java index 56f41ff80..1e7bb1504 100644 --- a/src/main/java/Good.java +++ b/src/main/java/Good.java @@ -1,13 +1,5 @@ public class Good { String name; double value; - - Good (String goodName, double goodValue){ - name = goodName; - value = goodValue; - } - String listGoods= name; - void listOfGoods (){ - listGoods=listGoods+name+"/n"; } -} + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 9b4ed26bb..c8fdaaebb 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -14,39 +14,32 @@ public static void main(String[] args) { personCount = scanner.nextInt(); } - String name=""; - double value; + String listOfGoods=""; double summOfGoods= 0.00; System.out.println("Введите товар, который хотите добавить в счёт"); while (true){ - name = scanner.next(); - if (name.equalsIgnoreCase("завершить")){ + String input = scanner.next(); + if (input.equalsIgnoreCase("завершить")){ break; } - listOfGoods+=name + "\n"; - System.out.println("Введите стоимость доавляемого товара "); + Good position = new Good(); + position.name = input; + listOfGoods += position.name + "\n"; + System.out.println("Введите стоимость добавляемого товара "); while (!scanner.hasNextDouble() && scanner.hasNext()) { System.out.println("некорректные данные, введите еще раз сумму. Вы ввели: " + scanner.next()); } - value = scanner.nextDouble(); - - if (value < 0){ - System.out.println("некорректные данные, введите еще раз:"); - value = scanner.nextDouble(); + position.value = scanner.nextDouble(); + while (position.value<0){ + System.out.println("Введенное значение некорректно, введите неотрицательную стоимость"); + position.value = scanner.nextDouble(); } - summOfGoods+=value; - System.out.println("Товар "+ name + " добавлен. Если хотите прекратить добавление товаров, введите команду \"завершить\". Введите новый товар"); - } - - System.out.println(listOfGoods); - System.out.println(summOfGoods); - //Good.listOfGoods(); - + summOfGoods+= position.value; + System.out.println("Товар "+ position.name + " добавлен. Если хотите прекратить добавление товаров, введите команду \"завершить\". Введите новый товар"); } - //проверяем корректность введенных данных(должно быть> 1) - //System.out.println("Добавленные товары:/n" + list + "Сумма, котору должен заплатить каждый - // человек:" + summ + formatting.rubles(summ)" );// печатаем итоговый список товаров и - // сумму, которую должен заплатить каждый клиент, форматируя рубли - + double aveSumm = Calculator.aveSumm(summOfGoods, personCount); + System.out.println("Добавленные товары:\n" + listOfGoods); + System.out.println("Сумма на каждого человека будет равна " + Formatting.round(aveSumm) + " " + Formatting.declination(Math.floor(aveSumm))); + } }

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