From e80d7fe98bc7e676361d76f3c20d5b6ca95a834c Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月22日 00:33:59 +0500 Subject: [PATCH 01/10] Stage 1. Process of add count Person --- src/main/java/Main.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..552aa0618 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,18 @@ +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 countFriend = 0; + + while (countFriend <= 1) { + System.out.println("На сколько человек разделить ваш счет?"); + countFriend = scanner.nextInt(); + if(countFriend == 1) {System.out.println("Нет смысла делить счет!");} + else {System.out.println("Введенное число некорректно.");} + } + System.out.println("Выполняем код дальше"); + } } \ No newline at end of file From 283c3f7da598458ca2bef51c64f1ba97a10238a4 Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月22日 11:29:09 +0500 Subject: [PATCH 02/10] Stage 1. Process of add count Person --- src/main/java/Main.java | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 552aa0618..20c61e35c 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -4,15 +4,30 @@ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); - int countFriend = 0; - while (countFriend <= 1) { - System.out.println("На сколько человек разделить ваш счет?"); - countFriend = scanner.nextInt(); - if(countFriend == 1) {System.out.println("Нет смысла делить счет!");} - else {System.out.println("Введенное число некорректно.");} - } - System.out.println("Выполняем код дальше"); + System.out.println("На сколько человек разделить ваш счет?"); + + System.out.println("Вы указали: " + countFriend(scanner)); + + + } + + public static int countFriend(Scanner scanner) { + while (true) { + if(scanner.hasNextInt()) { + int number = scanner.nextInt(); + if(number <= 1) {System.out.println("Укажите число больше 1.");} + else {return number;} + + } else { + System.out.println("Необходимо указать целое число."); + scanner.next(); + } + + } } -} \ No newline at end of file + + +} + From 5ea46c88d7e6a609226d3b13f15cac700079c3b3 Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月22日 11:42:11 +0500 Subject: [PATCH 03/10] Stage 1. Process of add count Person --- src/main/java/Main.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 20c61e35c..6e66b6c2b 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -7,8 +7,6 @@ public static void main(String[] args) { System.out.println("На сколько человек разделить ваш счет?"); - System.out.println("Вы указали: " + countFriend(scanner)); - } From cfa5ea529d08d5c555f1c9f745a01f2c50ed77cf Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月22日 11:43:48 +0500 Subject: [PATCH 04/10] Stage 1. Process of add count Person --- src/main/java/Main.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 6e66b6c2b..063543611 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -4,7 +4,6 @@ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); - System.out.println("На сколько человек разделить ваш счет?"); From 0cbde3faf2919cba6b580edd0698aed42c43475f Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月22日 14:02:23 +0500 Subject: [PATCH 05/10] Stage 2. Process of add dish --- src/main/java/Main.java | 18 +++++++++++++++++- src/main/java/Product.java | 17 +++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 src/main/java/Product.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 063543611..667a20be0 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -6,11 +6,19 @@ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("На сколько человек разделить ваш счет?"); + int processAdd = command(scanner); + + + //System.out.println("Добавленные товары: "); + //System.out.println("Общая сумма: "); + //System.out.println("Количество человек: " + countFriend(scanner)); + //System.out.println("Стоимость на каждого: "); + + } public static int countFriend(Scanner scanner) { - while (true) { if(scanner.hasNextInt()) { int number = scanner.nextInt(); @@ -25,6 +33,14 @@ public static int countFriend(Scanner scanner) { } } + public static int command(Scanner scanner) { + System.out.println("Желаете добавить еще одно блюдо? (Укажите \"Завершить\" для завершения процесса или введите любые символы, для продолжения)"); + String dishAdd = scanner.next(); + if(dishAdd.equalsIgnoreCase("Завершить")) { + return 1; + } else {return 0;} + } + } diff --git a/src/main/java/Product.java b/src/main/java/Product.java new file mode 100644 index 000000000..0fc841c49 --- /dev/null +++ b/src/main/java/Product.java @@ -0,0 +1,17 @@ +public class Product { + + + + + public String addInMenu(String dish, int command) { + StringBuilder menu = new StringBuilder(); + while(true) { + if(command==0) {menu = menu.append(dish); } + else {return menu;} + } + + } + + + +} From afa955a6f28e703b0709715987f8261199fc6053 Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月26日 20:17:39 +0500 Subject: [PATCH 06/10] Stage 3. Process of add dish - ready. --- src/main/java/Main.java | 38 +++++++++++++++++++++++++++++++++----- src/main/java/Product.java | 16 ++++++++-------- 2 files changed, 41 insertions(+), 13 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 667a20be0..c2cece444 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -4,9 +4,34 @@ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); + scanner.useDelimiter("\\n"); + StringBuilder menu = new StringBuilder(); + System.out.println("На сколько человек разделить ваш счет?"); + countFriend(scanner); + int processAdd; + do { + System.out.println("Укажите название блюда:"); + String dish = scanner.next(); + while(dish.isEmpty()) { + System.out.println("Название блюда не должно быть пустым."); + dish = scanner.next(); + } + menu.append(dish).append("\n"); + + System.out.println("Укажите стоимость блюда:"); + - int processAdd = command(scanner); + System.out.println("Блюдо добавлено в список"); + + + System.out.println("Желаете добавить еще одно блюдо? (Укажите \"Завершить\" для завершения процесса или введите любые символы, для продолжения)"); + processAdd = enterCommand(scanner); + } while(processAdd == 0); + + String resultMenu = menu.toString(); + System.out.println("Ваш заказ:"); + System.out.println(resultMenu); //System.out.println("Добавленные товары: "); @@ -33,12 +58,15 @@ public static int countFriend(Scanner scanner) { } } - public static int command(Scanner scanner) { - System.out.println("Желаете добавить еще одно блюдо? (Укажите \"Завершить\" для завершения процесса или введите любые символы, для продолжения)"); + public static int enterCommand(Scanner scanner) { String dishAdd = scanner.next(); + int command; if(dishAdd.equalsIgnoreCase("Завершить")) { - return 1; - } else {return 0;} + command = 1; + } else { + command = 0; + } + return command; } diff --git a/src/main/java/Product.java b/src/main/java/Product.java index 0fc841c49..4b251fe9d 100644 --- a/src/main/java/Product.java +++ b/src/main/java/Product.java @@ -1,14 +1,14 @@ public class Product { + StringBuilder menu = new StringBuilder(); - - - - public String addInMenu(String dish, int command) { - StringBuilder menu = new StringBuilder(); - while(true) { - if(command==0) {menu = menu.append(dish); } - else {return menu;} + public void addInMenu(String dish, int command) { + while(command == 1) { + menu.append(dish); + System.out.println("Блюдо добавлено в список"); } + String resultMenu = menu.toString(); + System.out.println(resultMenu); + } From 49fa944d84142b1dbe30bd617aa8665bf92127cf Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月27日 00:08:16 +0500 Subject: [PATCH 07/10] Stage 4. Add dishes and prices. --- src/main/java/Main.java | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index c2cece444..b71b17233 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -10,6 +10,7 @@ public static void main(String[] args) { System.out.println("На сколько человек разделить ваш счет?"); countFriend(scanner); int processAdd; + double total = 0; do { System.out.println("Укажите название блюда:"); String dish = scanner.next(); @@ -20,6 +21,7 @@ public static void main(String[] args) { menu.append(dish).append("\n"); System.out.println("Укажите стоимость блюда:"); + total = total + checkPrice(scanner); System.out.println("Блюдо добавлено в список"); @@ -29,9 +31,15 @@ public static void main(String[] args) { processAdd = enterCommand(scanner); } while(processAdd == 0); + + String resultMenu = menu.toString(); - System.out.println("Ваш заказ:"); + System.out.println("Добавленные блюда:"); System.out.println(resultMenu); + System.out.println("Стоимость заказа:"); + System.out.println(total); + + //System.out.println("Добавленные товары: "); @@ -43,6 +51,7 @@ public static void main(String[] args) { } + //Обрабатываем вывод количества друзей public static int countFriend(Scanner scanner) { while (true) { if(scanner.hasNextInt()) { @@ -58,6 +67,23 @@ public static int countFriend(Scanner scanner) { } } + //Обрабатываем вывод суммы + public static double checkPrice (Scanner scanner) { + while (true) { + if(scanner.hasNextDouble()) { + double price = scanner.nextDouble(); + if(price <= 0) {System.out.println("Укажите число больше 0.");} + else {return price;} + + } else { + System.out.println("Необходимо указать число."); + scanner.next(); + } + + } + } + + //Решаем, завершать ли нам добавление блюд или продолжать public static int enterCommand(Scanner scanner) { String dishAdd = scanner.next(); int command; From d3232125bd3830ab7ebb4f0f1abd5f37a200423f Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月27日 00:45:17 +0500 Subject: [PATCH 08/10] Stage 5. Add Calculate and Final Screen. --- src/main/java/Main.java | 27 ++++++++++++++------------- src/main/java/Product.java | 17 ----------------- 2 files changed, 14 insertions(+), 30 deletions(-) delete mode 100644 src/main/java/Product.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java index b71b17233..4e66bbe95 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -8,7 +8,7 @@ public static void main(String[] args) { StringBuilder menu = new StringBuilder(); System.out.println("На сколько человек разделить ваш счет?"); - countFriend(scanner); + int friends = countFriend(scanner); int processAdd; double total = 0; do { @@ -31,23 +31,20 @@ public static void main(String[] args) { processAdd = enterCommand(scanner); } while(processAdd == 0); - + //Выводим калькулятор + double calculate = total / (double)friends; + String bill = String.format("%.2f", calculate); + String sum = String.format("%.2f", total); String resultMenu = menu.toString(); System.out.println("Добавленные блюда:"); System.out.println(resultMenu); System.out.println("Стоимость заказа:"); - System.out.println(total); - - - - - //System.out.println("Добавленные товары: "); - //System.out.println("Общая сумма: "); - //System.out.println("Количество человек: " + countFriend(scanner)); - //System.out.println("Стоимость на каждого: "); - - + System.out.println(sum); + System.out.println("Количество гостей:"); + System.out.println(friends); + System.out.println("Стоимость чека на каждого:"); + System.out.println(bill); } @@ -95,6 +92,10 @@ public static int enterCommand(Scanner scanner) { return command; } + public static String ruble() { + + } + } diff --git a/src/main/java/Product.java b/src/main/java/Product.java deleted file mode 100644 index 4b251fe9d..000000000 --- a/src/main/java/Product.java +++ /dev/null @@ -1,17 +0,0 @@ -public class Product { - StringBuilder menu = new StringBuilder(); - - public void addInMenu(String dish, int command) { - while(command == 1) { - menu.append(dish); - System.out.println("Блюдо добавлено в список"); - } - String resultMenu = menu.toString(); - System.out.println(resultMenu); - - - } - - - -} From 7db74b276a12461175a98aa7e05ff8eb5eab143a Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月27日 01:55:40 +0500 Subject: [PATCH 09/10] Final Version --- src/main/java/Main.java | 13 +++++++------ src/main/java/Ruble.java | 28 ++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 src/main/java/Ruble.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 4e66bbe95..cda73a4d8 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -36,15 +36,20 @@ public static void main(String[] args) { String bill = String.format("%.2f", calculate); String sum = String.format("%.2f", total); + Ruble rubleSum = new Ruble(); + Ruble rubleBill = new Ruble(); + String changeRubleSum = rubleSum.recieveRuble(total); + String changeRubleBill = rubleBill.recieveRuble(calculate); + String resultMenu = menu.toString(); System.out.println("Добавленные блюда:"); System.out.println(resultMenu); System.out.println("Стоимость заказа:"); - System.out.println(sum); + System.out.println(sum + changeRubleSum); System.out.println("Количество гостей:"); System.out.println(friends); System.out.println("Стоимость чека на каждого:"); - System.out.println(bill); + System.out.println(bill + changeRubleBill); } @@ -92,10 +97,6 @@ public static int enterCommand(Scanner scanner) { return command; } - public static String ruble() { - - } - } diff --git a/src/main/java/Ruble.java b/src/main/java/Ruble.java new file mode 100644 index 000000000..ff4a6cdd7 --- /dev/null +++ b/src/main/java/Ruble.java @@ -0,0 +1,28 @@ +public class Ruble { + + public String recieveRuble(double rublePrice) { + int resultPrice = (int)Math.floor(rublePrice); + String ruble; + if(resultPrice>= 11 && resultPrice <= 19) { + ruble = " рублей"; + return ruble; + } + else { + int lastNumber = resultPrice % 10; + switch(lastNumber) { + case 1 : + ruble = " рубль"; + return ruble; + case 2 : + case 3 : + case 4 : + ruble = " рубля"; + return ruble; + default : + ruble = " рублей"; + return ruble; + + } + } + } +} From 9a96433b23988fc88e42266f83d4cc24f3919770 Mon Sep 17 00:00:00 2001 From: VeronikaZueva Date: 2023年9月29日 01:40:29 +0500 Subject: [PATCH 10/10] Final Version --- src/main/java/Ruble.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/main/java/Ruble.java b/src/main/java/Ruble.java index ff4a6cdd7..e34448f52 100644 --- a/src/main/java/Ruble.java +++ b/src/main/java/Ruble.java @@ -2,25 +2,21 @@ public class Ruble { public String recieveRuble(double rublePrice) { int resultPrice = (int)Math.floor(rublePrice); - String ruble; + if(resultPrice>= 11 && resultPrice <= 19) { - ruble = " рублей"; - return ruble; + return " рублей"; } else { int lastNumber = resultPrice % 10; switch(lastNumber) { case 1 : - ruble = " рубль"; - return ruble; + return " рубль"; case 2 : case 3 : case 4 : - ruble = " рубля"; - return ruble; + return " рубля"; default : - ruble = " рублей"; - return ruble; + return " рублей"; } }

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