From e85a1f78f93871a56555a2ce5bbe544581c90515 Mon Sep 17 00:00:00 2001 From: macbook Date: Sat, 29 Oct 2022 16:23:04 +0300 Subject: [PATCH 1/4] =?UTF-8?q?2=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calc.java | 6 ++++++ src/main/java/Main.java | 24 ++++++++++++++++++---- src/main/java/ProductsList.java | 35 +++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 src/main/java/Calc.java create mode 100644 src/main/java/ProductsList.java diff --git a/src/main/java/Calc.java b/src/main/java/Calc.java new file mode 100644 index 0000000..b0698de --- /dev/null +++ b/src/main/java/Calc.java @@ -0,0 +1,6 @@ +import java.util.Scanner; + +public class Calc { + Scanner scanner = new Scanner(System.in); + +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..4da513e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,24 @@ -public class Main { +import java.util.Scanner; + +public abstract class Main { + public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + Scanner scanner = new Scanner(System.in); + while (true) { + System.out.println("Введите количество гостей: "); + int numbersOfGuests = scanner.nextInt(); + if (numbersOfGuests > 1){ + System.out.println("сюда калькулятор"); + break; + } else { + System.out.println("Введите количество гостей больше, чем 1: "); + } + } + + ProductsList.productsLists(); } } + + + diff --git a/src/main/java/ProductsList.java b/src/main/java/ProductsList.java new file mode 100644 index 0000000..9defa76 --- /dev/null +++ b/src/main/java/ProductsList.java @@ -0,0 +1,35 @@ +import java.util.Scanner; + +public class ProductsList { + static String products; //атрибуты + static float amount; + static String answer; + + ProductsList productsList = new ProductsList(); + + + public static void main(String[] args) { + + + } + + public static void productsLists() { + while (true) { + Scanner scanner = new Scanner(System.in); + System.out.println("Введите название товара: "); + products = scanner.next(); + System.out.println("Введите цену товара: "); + amount = scanner.nextFloat(); //мб тут нужен будет try catch + + System.out.println("Товар успешно добавлен!\nХотите добавить ещё товар?"); + answer = scanner.next(); + switch (answer){ + case "Да": + productsLists(); + + case "Завершить": + break; + } + } + } +} From 0d68c81eab76e1b62e48f94cbdb286363e4211f2 Mon Sep 17 00:00:00 2001 From: macbook Date: Sat, 29 Oct 2022 16:26:28 +0300 Subject: [PATCH 2/4] =?UTF-8?q?2=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calc.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Calc.java b/src/main/java/Calc.java index b0698de..f5c5cc1 100644 --- a/src/main/java/Calc.java +++ b/src/main/java/Calc.java @@ -2,5 +2,5 @@ public class Calc { Scanner scanner = new Scanner(System.in); - + } From 33e3efd78e7cc6b64fa6182a7600e1df77c0ce9c Mon Sep 17 00:00:00 2001 From: macbook Date: Sat, 29 Oct 2022 16:28:49 +0300 Subject: [PATCH 3/4] =?UTF-8?q?2=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calc.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/Calc.java b/src/main/java/Calc.java index f5c5cc1..62a8ddd 100644 --- a/src/main/java/Calc.java +++ b/src/main/java/Calc.java @@ -2,5 +2,4 @@ public class Calc { Scanner scanner = new Scanner(System.in); - } From 4329bb3242d4573593d3f5733f4683a09835c3ad Mon Sep 17 00:00:00 2001 From: Ivan Date: Sun, 30 Oct 2022 20:35:35 +0300 Subject: [PATCH 4/4] =?UTF-8?q?=D0=94=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D1=8F?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D1=83=D1=80?= =?UTF-8?q?=D0=B0!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Calc.java | 5 -- src/main/java/Main.java | 18 +---- src/main/java/ProductsList.java | 128 ++++++++++++++++++++++++++++---- 3 files changed, 117 insertions(+), 34 deletions(-) delete mode 100644 src/main/java/Calc.java diff --git a/src/main/java/Calc.java b/src/main/java/Calc.java deleted file mode 100644 index 62a8ddd..0000000 --- a/src/main/java/Calc.java +++ /dev/null @@ -1,5 +0,0 @@ -import java.util.Scanner; - -public class Calc { - Scanner scanner = new Scanner(System.in); -} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 4da513e..58b5486 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,24 +1,12 @@ -import java.util.Scanner; - public abstract class Main { public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - while (true) { - System.out.println("Введите количество гостей: "); - int numbersOfGuests = scanner.nextInt(); - if (numbersOfGuests > 1){ - System.out.println("сюда калькулятор"); - break; - } else { - System.out.println("Введите количество гостей больше, чем 1: "); - } - } - - ProductsList.productsLists(); + ProductsList.menuChoice(); + ProductsList.debt(); } } + diff --git a/src/main/java/ProductsList.java b/src/main/java/ProductsList.java index 9defa76..dcea60c 100644 --- a/src/main/java/ProductsList.java +++ b/src/main/java/ProductsList.java @@ -1,35 +1,135 @@ import java.util.Scanner; +import java.util.ArrayList; public class ProductsList { - static String products; //атрибуты - static float amount; - static String answer; + static Scanner scanner = new Scanner(System.in); + static String products; //Для названия товара + static double price; //Для цены + static ArrayList listString = new ArrayList<>(); //Список для String + static ArrayList listDouble = new ArrayList<>(); //Список для Double + static int numbersOfGuests; - ProductsList productsList = new ProductsList(); + //********************************************************************************************** + //Метод для подсчёта гостей + public static int menuChoice() { + while (true) { //Проверка + System.out.println("Введите количество гостей: "); - public static void main(String[] args) { + if (scanner.hasNextInt()) { + numbersOfGuests = scanner.nextInt(); + if (numbersOfGuests > 1) { + System.out.println("сюда калькулятор"); + productsChoice(); + break; + } else if (numbersOfGuests == 1) { + System.out.println("И зачем я тогда писал калькулятор? " + + "Введите от 1-го, Христа ради: "); + } else if (numbersOfGuests == 0) { + System.out.println("Если у нас 0 гостей, тогда кого считаем то? " + + "Попытка №2: "); + } else { + System.out.println("Там умер кто?! " + + "Или почему кол-во гостей отрицательное? " + + "Давай ещё раз попробуем: "); + } + } else if (scanner.hasNextDouble()) { + System.out.println("Вы пришли с детьми! " + + "Как мило! " + + "Посчитайте их как взрослого человека: "); + scanner.nextLine(); + } else { + System.out.println("Введите хотя-бы число: "); + scanner.nextLine(); + } + } + return numbersOfGuests; } - public static void productsLists() { + //********************************************************************************************** + //Метод для добавления названия и цены товарам + public static void productsChoice() { + + String answer; + while (true) { - Scanner scanner = new Scanner(System.in); System.out.println("Введите название товара: "); products = scanner.next(); System.out.println("Введите цену товара: "); - amount = scanner.nextFloat(); //мб тут нужен будет try catch - System.out.println("Товар успешно добавлен!\nХотите добавить ещё товар?"); + while (true) { + if (scanner.hasNextDouble()) { + price = scanner.nextDouble(); + if (price < 0) { + System.out.println("По-моему наш ресторан не так работает. " + + "Это не мы должны платить нам, а наоборот." + + "\nПрошу: "); + } else { + listString.add(products); //Добавляем в список название продукта + listDouble.add(price); //Добавляем в список цену продукта + System.out.println("Кушанье добавлено! "); + break; + } + + } else { + System.out.println("Надо числами! Числами!!! " + + "Например 10.50 or 11.00, you know?: "); + scanner.nextLine(); + } + } + //Спрашиваем хочет или не хочет, а может хочет и молчит? Хочет и молчит? + System.out.println("Не желаете ли вы добавить ещё товаров, мой господин?" + + "\nЕсли хотите, то шлёпните по клавиатуре ладонью и пусть будет что будет. " + + "\nКоли желаете завершить сей процесс, то так и напишите - \"Завершить\". " + + "\nНу либо же введите \"Да\", чтобы мне засчитали это в ТЗ: "); + answer = scanner.next(); - switch (answer){ - case "Да": - productsLists(); + if (answer.equalsIgnoreCase("Завершить")) { //Приводим всё к одному регистру и сверяем ввод с "Завершить" + //Показать продукты + System.out.println("Добавленные товары: "); + for (String s : listString) { + System.out.println("Кушанье: " + s); //Вывод всех товаров + } + break; - case "Завершить": - break; + } else if (answer.equalsIgnoreCase("Да")) { + System.out.println("Молодец! Продолжаем: "); + } else { + System.out.println("Okay let's goooooooooo: "); } } } + + //********************************************************************************************** + //Соклько кто должен + окончания + public static Double debt() { + double sum = 0; + for (double d : listDouble) { //Считаем сумму + sum += d; + } + System.out.println("Всего накушали: " + endingRUB(sum)); + System.out.println("Если по-чесноку, то с каждого: " + endingRUB(sum / numbersOfGuests)); + return null; + } + //окончания + public static String endingRUB(double sum){ + int ending = (int)sum % 10; + String formatEnding = String.format("%.2f", sum); + if (ending == 1){ + return formatEnding + " рубль"; + } + else if (ending >=2 && ending <= 4){ + return formatEnding + " рубля"; + } + else if (ending >= 5 && ending <= 20){ + return formatEnding + " рублей"; + } + else { + return formatEnding + " рублей"; + } + } } + +