diff --git a/src/main/java/Calculate.java b/src/main/java/Calculate.java new file mode 100644 index 0000000..134d965 --- /dev/null +++ b/src/main/java/Calculate.java @@ -0,0 +1,86 @@ +import java.util.Scanner; + +public class Calculate { + + private static final Scanner scanner = new Scanner(System.in); + + int count; + String allProducts = ""; + double totalPrice = 0.00f; + double productPrice; + String rubles = ""; + + + public void initDataPersons() { + System.out.println("Здравствуйте!\nНа скольких гостей разделить счет?"); + + while (true) { + count = scanner.nextInt(); + if (count > 1) { + break; + } + if (count == 1) { + System.out.println("Разделение счета рассчитывается на большее кол-во гостей. Пожалуйста, введите число заново."); + } else { + System.out.println("Неверное кол-во гостей. Пожалуйста, введите число заново."); + } + } + + } + + // Добавление товаров в калькулятор + + public void addingProducts() { + while (true) { + System.out.println("Введите название товара или введите команду \"Завершить\"."); + try { + String productName = scanner.next(); + if (productName.equalsIgnoreCase("finish")) { + System.out.println("Добавленные товары: " + "\n" + allProducts); + break; + } else { + allProducts = allProducts + productName + "\n"; + while (true) { + System.out.println("Введите стоимость товара в формате \"рубли,копейки\"."); + productPrice = scanner.nextDouble(); + if (productPrice <= 0) { + System.out.println("Некорректное значение."); + } else { + break; + } + } + this.totalPrice = totalPrice + productPrice; + System.out.println("Товар добавлен в чек."); + } + } + catch(Exception e){ + System.out.println("Некорректное название товара. Попробуйте снова."); + } + } + + } + + + + //Подсчет рублей для каждого гостя + + public void endingOfRubles() { + int lastNum = (int) totalPrice % 10; + + if (totalPrice % 100 >= 11 && totalPrice % 100 <= 20) { + rubles = "рублей rublei"; + } else if (lastNum > 1 && lastNum < 5) { + rubles = "рубля rublya"; + } else if (totalPrice % 10 == 1) { + rubles = "рубль rubl"; + } + else { + rubles = "рублей rublei"; + } + + double OnePersonSum = totalPrice / (double)count; + System.out.println("Сумма на каждого гостя составляет " + String.format("%.2f", OnePersonSum) + " " + rubles + ".\nВсего доброго!"); + + } + +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c4..7721c47 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,21 @@ +/** + * Калькулятор счёта + * @author Fandorina Polina + * В данной задаче не вызываются несколько методов многократно, + * поэтому нет смысла загружать JVM и создавать лишиние классы и функции, + * хотя разделить на логические блоки можно. Программа линейная, где каждая операция выполняется последовательно. + */ + public class Main { + public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + Calculate calculate = new Calculate(); + calculate.initDataPersons(); + calculate.addingProducts(); + calculate.endingOfRubles(); } } + +