diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..8695b7a5d 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,146 @@ +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 = ""; + 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; + + } +} + + +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("Введите правильное количество гостей"); + continue; + } else if (peoples == 1){ + System.out.println("Делить не нужно, конец программы"); + return; + } else { + System.out.println("Количество гостей: " + peoples); + break; + } + } else { + System.out.println("Введите целое число гостей"); + //sc.next(); + continue; + } + + } + sc.nextLine(); + while(true){ + System.out.println("Введите название товара или 'Завершить' для отмены"); + String name = sc.nextLine(); + 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){ + + 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(); + } + + + } + + } + 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; + 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 )); + + + + + } } \ No newline at end of file