import java.util.Scanner; public class Calculator { public static String option; public static String listOfProducts = ""; public static double totalCost = 0; public static double price; public static void addProduct() { Scanner scanner = new Scanner(System.in); while (true) { // ÐапÑÑкаем беÑконеÑнÑй Ñикл Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑоваÑов System.out.println("ÐведиÑе название ÑоваÑа"); Product productName = new Product(scanner.next()); // Ñоздаем обÑÐµÐºÑ ÐºÐ»Ð°ÑÑа Product и ÑÐ¾Ñ ÑанÑем в нем введÑнное полÑзоваÑелем знаÑение while (true) { // ÐапÑÑкаем беÑконеÑнÑй Ñикл Ð´Ð»Ñ Ð¿ÑовеÑки ÑÐµÐ½Ñ System.out.println("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа в ÑоÑмаÑе 'ÑÑбли.копейки' [10.45, 11.40]"); if (scanner.hasNextDouble()) { // пÑовеÑка на ÑиÑло price = scanner.nextDouble(); if (price > 0) { // пÑовеÑка на положиÑелÑное ÑиÑло break; } else { System.out.println("Цена ÑоваÑа не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑной, введиÑе положиÑелÑное ÑиÑло в ÑоÑмаÑе '10.45'"); } } else { System.out.println("Ðведено невеÑное знаÑение, Ñена ÑоваÑа должна бÑÑÑ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸ÑелÑнÑм ÑиÑлом в ÑоÑмаÑе '10.45'"); scanner.next(); // оÑиÑÑка ввода } } System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен"); listOfProducts += productName.name + " - " + price; // добавлÑем новÑй ÑÐ¾Ð²Ð°Ñ Ð² ÑпиÑок totalCost += price; // ÑÑиÑаем ÑекÑÑÑÑ Ð¾Ð±ÑÑÑ ÑÑÐ¼Ð¼Ñ System.out.println(String.format("ТекÑÑÐ°Ñ Ð¾Ð±ÑÐ°Ñ ÑÑмма: %.2f \n", totalCost)); System.out.println("ÐÐ»Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑа Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑоваÑов введиÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ \"ÐавеÑÑиÑÑ\" или лÑбое дÑÑгое знаÑение Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑоваÑа"); option = scanner.next(); if (option.equalsIgnoreCase("завеÑÑиÑÑ")) { System.out.println("ÐобавленнÑе ÑоваÑÑ:\n" + listOfProducts + "\n" + String.format("ÐÑого: %.2f", totalCost)); break; } listOfProducts += "\n"; } } public static void sumOutput() { // вÑвод иÑоговой ÑÑÐ¼Ð¼Ñ Ð½Ð° каждого гоÑÑÑ double amountPerGuest = totalCost / Guests.numberOfPerson; // ÑÑиÑаем иÑоговÑÑ ÑÑÐ¼Ð¼Ñ Ð½Ð° каждого гоÑÑÑ int amountRound = (int)(Math.floor(amountPerGuest)); // окÑÑглÑем и пÑиводим к ÑÐµÐ»Ð¾Ð¼Ñ ÑиÑÐ»Ñ int lastDigit = amountRound % 10; // вÑÑиÑлÑем поÑледнÑÑ ÑиÑÑÑ ÑиÑла if (amountRound > 10 && amountRound < 20) { System.out.println(String.format("ÐаждÑй гоÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ заплаÑиÑÑ %.2f", amountPerGuest) + " ÑÑблей"); } else if (lastDigit > 1 && lastDigit < 5) { System.out.println(String.format("ÐаждÑй гоÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ заплаÑиÑÑ %.2f", amountPerGuest) + " ÑÑблÑ"); } else if (lastDigit == 1) { System.out.println(String.format("ÐаждÑй гоÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ заплаÑиÑÑ %.2f", amountPerGuest) + " ÑÑблÑ"); } else { System.out.println(String.format("ÐаждÑй гоÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ заплаÑиÑÑ %.2f", amountPerGuest) + " ÑÑблей"); } } }