From 27edc2121bbc40128bcdac5c118df15056b2c7bc Mon Sep 17 00:00:00 2001 From: Mereinalamone Date: 2023年7月30日 22:18:04 +0500 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D1=8B=D0=B9=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=B8=D1=82=20=D0=BA=20=D0=BA=D0=B0=D0=BB?= =?UTF-8?q?=D1=8C=D0=BA=D1=83=D0=BB=D1=8F=D1=82=D0=BE=D1=80=D1=83=20=D1=81?= =?UTF-8?q?=D1=87=D1=91=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/DivisionCheck.java | 77 ++++++++++++++++++++++++++++++++ src/main/java/Main.java | 24 +++++++++- 2 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 src/main/java/DivisionCheck.java diff --git a/src/main/java/DivisionCheck.java b/src/main/java/DivisionCheck.java new file mode 100644 index 000000000..378c37481 --- /dev/null +++ b/src/main/java/DivisionCheck.java @@ -0,0 +1,77 @@ +import java.util.ArrayList; +import java.util.Scanner; + +public class DivisionCheck { + public static String rub (float sum) { + if (sum % 10 == 1 && sum % 100 != 11) { + return "рубль"; + } else if ((sum % 10 == 2 || sum % 10 == 3 || sum % 10 == 4)&& sum % 100 != 12 && sum % 100 != 13 && sum % 100 != 14) { + return "рубля"; + } else { + return "рублей"; + } + } + + public static void divCheck (int numberPeople) { + + int i = 0; + String name; + float price; + float sum = 0; + ArrayList productList = new ArrayList(); + + while (true) { + i = i + 1; + while(true) { + try{ + System.out.printf("Введите название товара No%d: ", i); + Scanner scanner = new Scanner(System.in); + name = scanner.next(); + break; + } + catch(Exception e) { + System.out.println("Ошибка ввода. Возможно введены недопустимые символы."); + } + } + while(true) { + try{ + System.out.printf("Введите цену товара No%d: ", i); + Scanner scanner = new Scanner(System.in); + price = scanner.nextFloat(); + if (price> 0) { + break; + } + else {System.out.println("Ошибка ввода. Цена не может быть отрицательной или нулевой.");} + } + catch(Exception e) { + System.out.println("Ошибка ввода. Необходимо ввести число."); + } + } + productList.add(new Product(name, price)); + sum = sum + price; + System.out.println("Товар добавлен в список. Продолжаем? "); + System.out.println("Для продолжения введите любой символ, для завершения введите \"завершить\"."); + Scanner scanner = new Scanner(System.in); + String reply = scanner.next(); + if (reply.equalsIgnoreCase("завершить")) + {break;} + } + System.out.println("Список добавленных товаров"); + System.out.println("|Наименование товара |Стоимость |"); + for (i = 0; i < productList.size(); i = i + 1) { + System.out.println("|" + String.format("%-20s", productList.get(i).name) + "|" + String.format("%-10.2f", productList.get(i).price) + "|"); + } + System.out.printf("Итоговая сумма: %.2f %s\t\n", sum, rub(sum)); + System.out.printf("Количество гостей: %d\t\t\n", numberPeople); + System.out.printf("Итого на человека: %.2f %s\t\t\n", sum / numberPeople, rub(sum / numberPeople)); + } +} + +class Product { + String name; + float price; + Product (String name, float price) { + this.name = name; + this.price = price; + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..d7358e83e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,28 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + + System.out.println("Приветствую пользователь!"); + System.out.println("На скольких человек разделить счёт? "); + int numberPeople; + while (true) { + try { + Scanner scanner = new Scanner(System.in); + numberPeople = scanner.nextInt(); + if (numberPeople> 1) { + System.out.println("Замечательно, колличество гостей - " + numberPeople + "!"); + System.out.println("А теперь займёмся вашим меню!"); + break; + } else if (numberPeople == 1) { + System.out.println("Значение некорректное. В этом случае нет смысла ничего считать и делить."); + } else { + System.out.println("Значение некорректное. В этом случае нет смысла ничего считать и делить."); + } + } catch (Exception e) { + System.out.println("Значение некорректное. Необходимо ввести целое число."); + } + } + DivisionCheck.divCheck(numberPeople); } } \ No newline at end of file From 585974c2daf03647198cbd404678549cabcaa9ea Mon Sep 17 00:00:00 2001 From: Mereinalamone Date: Wed, 2 Aug 2023 15:49:12 +0500 Subject: [PATCH 2/2] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?:=201)=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B=20hasNext()?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B8=20=D0=B2=D0=B2=D0=B5=D0=B4=D1=91=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D0=B5=D0=BB=D0=B5=D0=BC=20=D0=B8=D0=BD=D1=84=D0=B0=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=202)=20=D1=82=D0=B5=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D1=8C=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D1=81=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D1=82=D1=81=D1=8F=20=D0=B8=D0=BD?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=BD=D1=81=20Scanner,=20=D0=B1=D0=B5=D0=B7?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B5=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B2=20=D0=BA=D0=B0=D0=B6=D0=B4=D0=BE=D0=BC=20?= =?UTF-8?q?=D1=86=D0=B8=D0=BA=D0=BB=D0=B5=20=D0=BA=D0=B0=D0=BA=20=D0=B1?= =?UTF-8?q?=D1=8B=D0=BB=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/DivisionCheck.java | 24 ++++++++---------------- src/main/java/Main.java | 24 ++++++++++-------------- 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/src/main/java/DivisionCheck.java b/src/main/java/DivisionCheck.java index 378c37481..71f4a7b5c 100644 --- a/src/main/java/DivisionCheck.java +++ b/src/main/java/DivisionCheck.java @@ -14,6 +14,7 @@ public static String rub (float sum) { public static void divCheck (int numberPeople) { + Scanner scanner = new Scanner(System.in); int i = 0; String name; float price; @@ -23,35 +24,26 @@ public static void divCheck (int numberPeople) { while (true) { i = i + 1; while(true) { - try{ System.out.printf("Введите название товара No%d: ", i); - Scanner scanner = new Scanner(System.in); name = scanner.next(); break; } - catch(Exception e) { - System.out.println("Ошибка ввода. Возможно введены недопустимые символы."); - } - } + while(true) { - try{ - System.out.printf("Введите цену товара No%d: ", i); - Scanner scanner = new Scanner(System.in); + System.out.printf("Введите стоимоть товара No%d: ", i); + if (scanner.hasNextFloat()){ price = scanner.nextFloat(); if (price> 0) { break; } - else {System.out.println("Ошибка ввода. Цена не может быть отрицательной или нулевой.");} - } - catch(Exception e) { - System.out.println("Ошибка ввода. Необходимо ввести число."); - } + } else scanner.next(); + System.out.println("Ошибка ввода. Необходимо вводить числовое значение.\n" + "Цена не может быть отрицательной или нулевой."); } + productList.add(new Product(name, price)); sum = sum + price; - System.out.println("Товар добавлен в список. Продолжаем? "); + System.out.println("Товар добавлен в список. Продолжаем?"); System.out.println("Для продолжения введите любой символ, для завершения введите \"завершить\"."); - Scanner scanner = new Scanner(System.in); String reply = scanner.next(); if (reply.equalsIgnoreCase("завершить")) {break;} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index d7358e83e..d41b91783 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -2,26 +2,22 @@ public class Main { public static void main(String[] args) { - - System.out.println("Приветствую пользователь!"); - System.out.println("На скольких человек разделить счёт? "); + Scanner scanner = new Scanner(System.in); int numberPeople; + + System.out.print("Приветствую пользователь!" + "\n" + "На сколько человек разделить счёт?"); + while (true) { - try { - Scanner scanner = new Scanner(System.in); + if (scanner.hasNextInt()){ numberPeople = scanner.nextInt(); if (numberPeople> 1) { - System.out.println("Замечательно, колличество гостей - " + numberPeople + "!"); - System.out.println("А теперь займёмся вашим меню!"); + System.out.println("\nЗамечательно, колличество гостей - " + numberPeople + "!\n" + "А теперь займёмся вашим меню!\n"); break; - } else if (numberPeople == 1) { - System.out.println("Значение некорректное. В этом случае нет смысла ничего считать и делить."); - } else { - System.out.println("Значение некорректное. В этом случае нет смысла ничего считать и делить."); } - } catch (Exception e) { - System.out.println("Значение некорректное. Необходимо ввести целое число."); - } + } else + scanner.next(); + System.out.println("Значение некорректное.\n" + "Нельзя вводить спец символы или буквы."); + System.out.println("Колличество гостей не может быть равно 1 или 0, а так же не может быть отрицательным.\n"); } DivisionCheck.divCheck(numberPeople); }

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