From e6fb7daceadc7370de98eb7fa7a7a3c5e7552c3c Mon Sep 17 00:00:00 2001 From: s-buvaka Date: Wed, 30 Nov 2022 22:20:36 +0300 Subject: [PATCH 1/3] Add dev branch --- src/main/java/Main.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c435..955424e69 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,3 +1,4 @@ +// dev branch for Y.Practicum public class Main { public static void main(String[] args) { From 154e839bed66e832285356d20e06526f4b109947 Mon Sep 17 00:00:00 2001 From: getastep Date: Fri, 3 Feb 2023 13:46:06 +0300 Subject: [PATCH 2/3] First sprint V.1 --- src/main/java/Main.java | 102 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 99 insertions(+), 3 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 955424e69..7a07f7ac0 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,9 +1,105 @@ +import java.util.ArrayList; +import java.util.Scanner; + // dev branch for Y.Practicum public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + Scanner scanner = new Scanner(System.in); + int numberOfPeople = 0; + while (numberOfPeople <= 1) { + System.out.println("На скольких человек поделить счет?"); + numberOfPeople = scanner.nextInt(); + } + Calculator check = new Calculator(); + while (true) { + check.addNewProduct(); + System.out.println("Товар был успешно добавлен!"); + System.out.println("Хотите добавить еще один? (Напишите 'завершить', чтобы отказаться)"); + String answer = scanner.next(); + if (answer.equalsIgnoreCase("завершить")) { + break; + } + } + check.printProducts(); + double result = check.countIndividualBill(numberOfPeople); + String formatResult = "Каждый должен заплатить: %.2f %s"; + String ruble = check.formatted(result); + System.out.println(String.format(formatResult, result, ruble)); + } +} + +class Calculator { + Scanner scanner = new Scanner(System.in); + ArrayList products = new ArrayList<>(); + double totalPrice = 0.0; + + void addNewProduct() { + System.out.println("Введите название товара: "); + String name = scanner.nextLine(); + double price = 0; + while (true) { + Scanner sc = new Scanner(System.in); + System.out.println("Введите цену товара в формате РУБЛИ,КОПЕЙКИ: "); + if (sc.hasNextDouble()) { + double x = sc.nextDouble(); + if (x > 0) { + price = x; + break; + } + else { + System.out.println("Цена товара не может быть меньше или равной нулю!"); + } + } + else { + System.out.println("Некорректное значение! Убедитесь, что вводите цифры в формате РУБЛИ,КОПЕЙКИ"); + continue; + } + } + Product product = new Product(name, price); + products.add(product); + totalPrice += price; + } + + void printProducts() { + System.out.println("Добавленные товары:"); + for (Product x : products) { + System.out.println(x.name); + } + } + + double countIndividualBill(int numberOfPeople) { + double result = 0.0; + result = totalPrice / numberOfPeople; + return result; + } + + String formatted(double number) { + int x = (int)number; + if (x % 100 / 10 == 1) { + return "рублей"; + } + else { + switch (x % 10) { + case 1: + return "рубль"; + case 2: + case 3: + case 4: + return "рубля"; + default: + return "рублей"; + } + } + } +} + +class Product { + String name; + double price; + + Product(String name, double price) { + this.name = name; + this.price = price; } } From 7354cf5a518e379b3c59757622b4110e9a41141d Mon Sep 17 00:00:00 2001 From: getastep Date: Sat, 11 Feb 2023 14:26:13 +0300 Subject: [PATCH 3/3] First sprint V.2 --- src/main/java/Main.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 7a07f7ac0..11911a92a 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -8,8 +8,20 @@ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int numberOfPeople = 0; while (numberOfPeople <= 1) { - System.out.println("На скольких человек поделить счет?"); - numberOfPeople = scanner.nextInt(); + while (true) { + Scanner sc = new Scanner(System.in); + System.out.println("На скольких человек поделить счет?"); + if (sc.hasNextInt()) { + numberOfPeople = sc.nextInt(); + break; + } + else { + System.out.println("Некорректное значение! Убедитесь, что вводите целое положительное число!"); + } + } + if (numberOfPeople <= 1) { + System.out.println("Значение должно быть больше 1"); + } } Calculator check = new Calculator(); while (true) { @@ -53,7 +65,6 @@ void addNewProduct() { } else { System.out.println("Некорректное значение! Убедитесь, что вводите цифры в формате РУБЛИ,КОПЕЙКИ"); - continue; } } Product product = new Product(name, price);