import java.util.Locale; import java.util.Scanner; public class Product { Scanner sc = new Scanner(System.in).useLocale(Locale.US); static int numberOfPeople; // подÑÑÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво Ñеловек public void calculatePersons() { System.out.println("Ðа ÑколÑÐºÐ¸Ñ Ð³Ð¾ÑÑей Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ ÑÑÑÑ ?"); //колиÑеÑÑво Ñеловек while (true) { if (!sc.hasNextInt()) { System.out.println("ÐÑибка. ÐведиÑе 'ЧÐСÐÐ' гоÑÑей !"); sc.next(); continue; } numberOfPeople = sc.nextInt(); if (numberOfPeople <= 1) { System.out.println("ÐÑибка. ÐведиÑе коÑÑекÑное 'ЧÐСÐÐ' !"); } else { System.out.println("ÐоздÑавлÑем вам еÑÑÑ Ñ ÐºÐµÐ¼ ÑазделиÑÑ ÑÑÐµÑ !"); break; } } } // добавление ÑоваÑа и его ÑÑоимоÑÑи в калÑкÑлÑÑÐ¾Ñ public void addProduct(Calculator calculator) { System.out.println("ÐведиÑе название ÑоваÑа:"); String product = sc.next(); System.out.println("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа: 'ÑÑбли.копейки' [10.45, 11.40] "); String addOne = ""; while (true) { if (!sc.hasNextDouble()) { System.out.println("ÐÑибка. Ð¢Ð¾Ð²Ð°Ñ Ð½Ðµ добавлен. ÐведиÑе коÑÑекÑное знаÑение ÑÑоимоÑÑи ÑоваÑа. "); sc.next(); continue; } double price = sc.nextDouble(); if (price <= 0) { System.out.println("ÐÑибка.ÐведиÑе положиÑелÑное знаÑение. "); } if (price >= 0) { calculator.setProducts(product); calculator.setTotalPrice(price); System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен.\nÐобавиÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ ÑоваÑ? нажмиÑе - 'Y'\nÐÑли вÑе ÑоваÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ð½Ð°Ð¶Ð¼Ð¸Ñе - 'N' ! "); while (true) { addOne = sc.next(); if (addOne.equalsIgnoreCase("Y")) { addProduct(calculator); } if (addOne.equalsIgnoreCase("N")) { outputResult(calculator); } else { System.out.println("ÐÑибка. ÐведиÑе коÑÑекÑное колиÑеÑÑво гоÑÑей!"); continue; } } } } } // вÑвод ÑезÑлÑÑаÑов public void outputResult (Calculator calculator){ System.out.print("ÐобавленнÑе ÑоваÑÑ:"); // вÑвод ÑоваÑов System.out.println(calculator.getProducts()); System.out.println("ÐбÑий ÑÑеÑ: " + calculator.getTotalPrice() + " Ñазделим его на " +numberOfPeople + " гоÑÑей. "); // ÑÑÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ поÑеÑиÑÐµÐ»Ñ // Ñклонение в завиÑимоÑÑи Ð¾Ñ ÑелоÑиÑленной ÑаÑÑи ÑÑеÑа double scoreVisitor = calculator.getTotalPrice() / numberOfPeople; String currency = ""; // окÑÑгление знаÑÐµÐ½Ð¸Ñ int roundScore = (int) Math.floor(scoreVisitor); if (roundScore == 1 || (roundScore % 10 == 1 && (roundScore / 10) % 2 == 0)) { currency = "ÑÑблÑ"; } else if ((roundScore > 1 && roundScore <= 4) || ((roundScore % 10 > 1 && roundScore % 10 <= 4) && (roundScore / 10) % 2 == 0)) { currency = "ÑÑблÑ"; } else if (roundScore > 4) { currency = "ÑÑблей"; } // вÑвод ÑÑеÑа клиенÑа String formatAnswer = String.format("%.2f %s", scoreVisitor, currency); System.out.println("СÑмма к оплаÑе каждого гоÑÑÑ : " + formatAnswer); } }