import java.text.DecimalFormat; import java.util.Scanner; import static java.lang.StrictMath.floor; public class Menu { public static void foodList(int numberOfPersons) { String money = "\uD83D\uDCB0"; double totalPrice = 0.0; double share; StringBuilder food = new StringBuilder("ÐаÑа еда: "); while (true) { Scanner scanner = new Scanner(System.in); System.out.println("ÐведиÑе название блÑда:"); String itemName = scanner.nextLine(); System.out.println("ÐведиÑе ÑÑоимоÑÑÑ Ð±Ð»Ñда:"); while (true) { if (!scanner.hasNextDouble()) { System.out.println("Я же попÑоÑил ввеÑÑи ÑенÑ. ÐаÑем мне Ñвои бÑквÑ?"); scanner.nextLine(); } else { double price = scanner.nextDouble(); if (price == 0) { System.out.println("ÐеÑплаÑнÑй ÑÑÑ, ÑолÑко в мÑÑеловке!"); } else if (price < 0) { System.out.println("ÐÑÑ Ð¸ доплаÑили? ÐÐ¾Ñ ÑÑо ÑÑдеÑа! " + "Ð¢Ñ ÑоÑно в ÑеÑÑоÑане бÑл," + " а не к бабÑÑке Ð·Ð°ÐµÑ Ð°Ð»?\n ÐведиÑе ÑÑоимоÑÑÑ Ð±Ð»Ñда:"); } else { food.append("\n").append(itemName).append(" за ").append(price); totalPrice += price; System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен!"); break; } } } System.out.println("ÐелаеÑе добавиÑÑ ÑÑо Ñо еÑе? ÐÐ»Ñ Ð¿Ð¾Ð´ÑÑеÑа введиÑе ÐавеÑÑиÑÑ"); String answer = scanner.next(); if (answer.equalsIgnoreCase("ÐавеÑÑиÑÑ")) { scanner.close(); break; } } share = totalPrice / numberOfPersons; System.out.println(food); System.out.println("******"); System.out.println("Чек на: " + rubles(totalPrice)); System.out.println("СкидÑваемÑÑ Ð¿Ð¾: " + rubles(share) + money); System.out.println("******"); System.out.println("РекомендÑем: \n5% " + rubles(totalPrice * 5 / 100) + " СÑеднее обÑлÑживание\n7% " + rubles(totalPrice * 7 / 100) + " ХоÑоÑее обÑлÑживание\n10% " + rubles(totalPrice * 10 / 100) + " ÐÑлиÑное обÑлÑживание"); } public static String rubles(double a) { if (floor(a) % 10 >= 2 && floor(a) % 10 <= 4) return format(a) + " ÑÑблÑ"; else if (floor(a) % 10 == 1) return format(a) + " ÑÑблÑ"; else return format(a) + " ÑÑблей"; } public static String format(double a) { DecimalFormat dF = new DecimalFormat("#.##"); // ÑполÑзовал именно ÑÑÐ¾Ñ Ð¼ÐµÑоÑ, Ñак как пиÑÑÑ, ÑÑо он бÑÑÑÑее, но Ð¼Ð¾Ð³Ñ Ð²ÐµÑнÑÑÑ //return String.format("%.2f", a); return (dF.format(a)); } }