From 1924256de21edf97b54cf7d4d18bb5140d4afd75 Mon Sep 17 00:00:00 2001 From: Televizzor Date: 2024年4月11日 15:08:27 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D0=BF?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=B4=D0=B5=D0=B6=D0=B0=20=D1=81=D0=BB=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=20"=D0=A0=D1=83=D0=B1=D0=BB=D1=8C"=20=D0=A2=D0=B0=D0=BA?= =?UTF-8?q?=20=D0=B6=D0=B5=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=BE=20=D0=BD=D0=B0=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80=D0=B0=20?= =?UTF-8?q?=D0=B8=20=D0=B5=D0=B3=D0=BE=20=D1=81=D1=82=D0=BE=D0=B8=D0=BC?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 115 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 114 insertions(+), 1 deletion(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..51e9a6180 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,119 @@ +import java.util.ArrayList; +import java.util.Iterator; +import java.util.Scanner; +class RubFormat{ + int rub; + + String formatter(int rub){ + + this.rub = rub; + String ruble = ""; + switch (rub){ + case 1: + ruble = "Рубль"; + break; + case 2: + case 3: + case 4: + ruble = "Рубля"; + break; + case 0: + case 5: + case 6: + case 7: + case 8: + case 9: + ruble = "Рублей"; + break; + } + return ruble; + + } +} + + +class Product{ + String name; + float price; + + Product(String name,float price){ + this.name = name; + this.price = price; + } + +} public class Main { + public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner sc = new Scanner(System.in); + + ArrayList products = new ArrayList(); + System.out.println("Введите количество гостей среди которых нужно разделить счёт"); + int peoples = 0; + float sum = 0; + while (true){ + if (sc.hasNextInt()) { + peoples = sc.nextInt(); + if (peoples < 1) { + System.out.println("Введите правильное количество гостей"); + } else if (peoples == 1){ + System.out.println("Делить не нужно, конец программы"); + return; + } else { + System.out.println("Количество гостей: " + peoples); + break; + } + } else { + System.out.println("Введите целое число гостей"); + sc.next(); + } + + } + sc.nextLine(); + while(true){ + System.out.println("Введите название товара или 'Завершить' для отмены"); + String name = sc.nextLine(); + + if (name.equalsIgnoreCase("Завершить")) { + break; + } + System.out.println("Введите цену товара"); + while(true){ + + if(sc.hasNextFloat()){ + float price = sc.nextFloat(); + sc.nextLine(); + if (price> 0){ + products.add(new Product(name,price)); + sum += price; + System.out.println("Товар " + name + " добавлен со стоимостью " + price); + break; + } else System.out.println("Введите корректную цену товара"); + + } else { + System.out.println("Введите число"); + sc.next(); + } + + + } + + } + System.out.println("Добавленные товары: "); + for (int i = 0; i < products.size(); i++){ + System.out.println("Товар: " + products.get(i).name + " стоимостью: " + products.get(i).price); + } + RubFormat rubFormat = new RubFormat(); + float totalSum = sum/(float)peoples; + int rub = (int) totalSum % 10; + String ruble = rubFormat.formatter(rub); + + System.out.print(String.format("Каждый гость должен заплатить: %.2f %s",totalSum, ruble )); + + + + + } } \ No newline at end of file From 94810245d752bc860fa8f7fb3278509fe0db2bd7 Mon Sep 17 00:00:00 2001 From: Televizzor Date: 2024年4月16日 21:34:32 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=83=D1=81=D1=82=D0=BE=D0=B5=20=D0=BD=D0=B0?= =?UTF-8?q?=D0=B7=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=82=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=80=D0=B0=20=D0=B8=20=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D1=89=D0=B5=D0=B5=20=D1=82=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B8=D0=B7=20=D1=86=D0=B8=D1=84?= =?UTF-8?q?=D1=80,=20=D0=BF=D1=80=D0=B8=D1=88=D0=BB=D0=BE=D1=81=D1=8C=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=B1=D0=B5=D0=B3=D0=BD=D1=83=D1=82=D1=8C=20?= =?UTF-8?q?=D0=BA=20matches("\\d+")=20=D1=85=D0=BE=D1=82=D1=8C=20=D0=BC?= =?UTF-8?q?=D1=8B=20=D1=8D=D1=82=D0=BE=D0=B3=D0=BE=20=D0=B8=20=D0=BD=D0=B5?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D1=85=D0=BE=D0=B4=D0=B8=D0=BB=D0=B8,=20?= =?UTF-8?q?=D0=B5=D1=81=D0=BB=D0=B8=20=D0=B2=D1=81=D1=91=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE=20=D1=81=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BB,=20=D1=82=D0=BE=20=D0=BF=D0=BE=D0=B6=D0=B0?= =?UTF-8?q?=D0=BB=D1=83=D0=B9=D1=81=D1=82=D0=B0,=20=D0=B4=D0=B0=D0=B9?= =?UTF-8?q?=D1=82=D0=B5=20=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D0=BD=D1=83=D1=8E?= =?UTF-8?q?=20=D1=81=D0=B2=D1=8F=D0=B7=D1=8C,=20=D0=BA=D0=B0=D0=BA=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=20=D0=B1=D1=8B=D0=BB=D0=BE=20?= =?UTF-8?q?=D0=B1=D1=8B=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D0=AD=D1=82=D0=BE=20=D0=B1=D0=B5=D0=B7=20?= =?UTF-8?q?=D1=8D=D1=82=D0=BE=D0=B9=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8.=20=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B8=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B0?= =?UTF-8?q?=20=D0=BD=D0=B5=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=81=D0=BA?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=20=D0=BD=D0=B8=D0=BA=D0=B0=D0=BA=D0=BE=D0=B5?= =?UTF-8?q?=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B3?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B5=D0=B9=20=D0=BA=D1=80=D0=BE=D0=BC=D0=B5?= =?UTF-8?q?=20=D0=A6=D0=B5=D0=BB=D0=BE=D0=B9=20=D0=A6=D0=B8=D1=84=D1=80?= =?UTF-8?q?=D1=8B=202=20=D0=B8=20=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B5,=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D1=81=D0=BE=D0=B2=D1=81=D0=B5=D0=BC=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BD=D1=8F=D0=BB=20=D1=87=D1=82=D0=BE=20=D0=BD=D1=83?= =?UTF-8?q?=D0=B6=D0=BD=D0=BE=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=83=D1=81=D0=BB=D0=BE=D0=B2=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BF=D0=B0=D0=B4=D0=B5=D0=B6=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=D0=B0=20"=D0=A0=D1=83=D0=B1=D0=BB=D1=8C"=20?= =?UTF-8?q?=D0=A2=D0=B0=D0=BA=20=D0=B6=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D0=BA?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D0=BE=D1=82=D1=8B=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20"=D0=92?= =?UTF-8?q?=D1=8B=20=D0=BD=D0=B5=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=BD=D0=B8=20=D0=BE=D0=B4=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80=D0=B0"=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=20=D0=BF=D1=83=D1=81=D1=82=D0=BE=D0=BC=20=D1=81=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=B5=20products?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 71 ++++++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 22 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 51e9a6180..8695b7a5d 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -9,24 +9,30 @@ String formatter(int rub){ this.rub = rub; String ruble = ""; - switch (rub){ - case 1: - ruble = "Рубль"; - break; - case 2: - case 3: - case 4: - ruble = "Рубля"; - break; - case 0: - case 5: - case 6: - case 7: - case 8: - case 9: - ruble = "Рублей"; - break; + if (rub>= 10){ + ruble = "Рублей"; + } else { + switch (rub){ + case 1: + ruble = "Рубль"; + break; + case 2: + case 3: + case 4: + ruble = "Рубля"; + break; + case 0: + case 5: + case 6: + case 7: + case 8: + case 9: + ruble = "Рублей"; + break; + } + } + return ruble; } @@ -57,6 +63,7 @@ public static void main(String[] args) { peoples = sc.nextInt(); if (peoples < 1) { System.out.println("Введите правильное количество гостей"); + continue; } else if (peoples == 1){ System.out.println("Делить не нужно, конец программы"); return; @@ -66,7 +73,8 @@ public static void main(String[] args) { } } else { System.out.println("Введите целое число гостей"); - sc.next(); + //sc.next(); + continue; } } @@ -74,10 +82,19 @@ public static void main(String[] args) { while(true){ System.out.println("Введите название товара или 'Завершить' для отмены"); String name = sc.nextLine(); - - if (name.equalsIgnoreCase("Завершить")) { + if (name.isEmpty()){ + System.out.println("Название товара не может быть пустым"); + continue; + + } else if (name.matches("\\d+")){ + System.out.println("Название товара не может состоять только из цифр"); + continue; + + } else if (name.equalsIgnoreCase("Завершить")) { break; } + + System.out.println("Введите цену товара"); while(true){ @@ -100,13 +117,23 @@ public static void main(String[] args) { } } - System.out.println("Добавленные товары: "); + if (products.isEmpty()) { + System.out.println("Вы не добавили ни одного товара"); + } else System.out.println("Добавленные товары: "); + ; for (int i = 0; i < products.size(); i++){ System.out.println("Товар: " + products.get(i).name + " стоимостью: " + products.get(i).price); } RubFormat rubFormat = new RubFormat(); float totalSum = sum/(float)peoples; - int rub = (int) totalSum % 10; + int rub = (int) totalSum; + if ((int)totalSum> 10 && (int)totalSum <= 20) { + rub = (int) totalSum; + } else { + rub = (int) totalSum % 10; + + } + String ruble = rubFormat.formatter(rub); System.out.print(String.format("Каждый гость должен заплатить: %.2f %s",totalSum, ruble ));

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