diff --git a/src/main/java/Calculator.java b/src/main/java/Calculator.java new file mode 100644 index 000000000..8ad8242af --- /dev/null +++ b/src/main/java/Calculator.java @@ -0,0 +1,17 @@ +public class Calculator { + int members; + double price; + double totalPrice; + + + double calculate (int members, double productPrice) { + this.members = members; + this.price = productPrice; + totalPrice += price; + System.out.println("Товар добавлен в общий счет"); + return totalPrice; + } + + + +} diff --git a/src/main/java/Formatter.java b/src/main/java/Formatter.java new file mode 100644 index 000000000..058ab494a --- /dev/null +++ b/src/main/java/Formatter.java @@ -0,0 +1,21 @@ +public class Formatter { + String numFormat (double num) { + double lastNumber = (int) Math.floor(num); + int ruble =(int) Math.floor(lastNumber); + if (lastNumber % 100>= 11 && lastNumber % 100 <= 14) { + return " рублей"; + } + switch (ruble % 10) { + case 1: + return "рубль"; + case 2: + case 3: + case 4: + return "рубля"; + default: + return "рублей"; + } + } + + +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c435..950556d5b 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,68 @@ +import java.util.Scanner; + +// dev branch for Y.Practicum public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + int members = 0; + + Scanner scanner= new Scanner(System.in); + + System.out.println("Пожалуйства введите количество человек"); + while (members <= 1) { + if (scanner.hasNextInt()) { + members = scanner.nextInt(); + if (members <= 1) { + System.out.println("Количетсво введенных пользователей меньше или равно 1, пожалуйства попробуйте снова"); + } + } else { + System.out.println("Нужно ввести число!"); + scanner.next(); + + } + } //конец цикла подсчета участников + Product product = new Product(); //объект продукт + Calculator calculator = new Calculator(); + + while (true) { //начало подсчета товара + System.out.println("Введите название товара"); + product.name = scanner.next(); + + + if (product.name.equalsIgnoreCase("Завершить")) { + break; + } + + System.out.println("Введите цену товара"); + while (!scanner.hasNextDouble()) { + System.out.println("Неккоректный ввод, попробуйте снова"); + scanner.next(); + } + product.price = scanner.nextDouble(); + + while (product.price <= 0) { + System.out.println("Пожалуйства введите цену больше 0"); + while (!scanner.hasNextDouble()) { + System.out.println("Неккоректный ввод, попробуйте снова"); + scanner.next(); + } + product.price = scanner.nextDouble(); + + } + + + product.priceList = calculator.calculate(members, product.price); + product.nameList = product.productList(product.name); + System.out.println("Вы хотите добавить новый товар?, либо введите Завершить"); + + } //конец подсчета + + Formatter formatter = new Formatter(); + //объект формата строки + System.out.println("Ваш товар: " + " \n" + product.nameList); + + System.out.println("На сумму: " + String.format("%.2f", product.priceList) + " " + formatter.numFormat(product.priceList)); + + System.out.println("Каждый должен заплатить: " + String.format("%.2f", (product.priceList/members)) + " " + formatter.numFormat(product.priceList/members)); } } diff --git a/src/main/java/Product.java b/src/main/java/Product.java new file mode 100644 index 000000000..cccc0c43b --- /dev/null +++ b/src/main/java/Product.java @@ -0,0 +1,14 @@ +public class Product { + String name = ""; + String nameList = ""; + double price = 0; + double priceList; + + String productList (String name) { + this.name = name; + return nameList += name + " \n"; + } + + + +}