import java.util.Scanner; public class Main { public static void main(String[] args) { // ÑÑеÑÑик int quantity; String quantityString; Scanner scanner = new Scanner(System.in); while (true) { System.out.println("Ðа ÑколÑÐºÐ¸Ñ Ñеловек Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ ÑÑÑÑ?"); quantityString = scanner.nextLine(); try { quantity = Integer.parseInt(quantityString); if (quantity > 1) { break; } else { System.out.println("ÐÑибка ввода. ЧиÑло лÑдей должно бÑÑÑ Ð±Ð¾Ð»ÑÑе одного."); } } catch (NumberFormatException nfe) { System.out.println("ÐÑибка ввода. ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи Ñелое ÑиÑло."); } } //калÑкÑлÑÑÐ¾Ñ Calculator calc = new Calculator(); calc.inputProduct(); double part = Calculator.sum/quantity; Declension dec = new Declension(); dec.decline(Math.floor(part)); String partPrint = String.format ("%.2f", part); partPrint = partPrint.replace(',','.'); System.out.println("ÐаждÑй Ñеловек должен заплаÑиÑÑ " + partPrint + " " + Declension.rouble + "."); scanner.close(); } } class Calculator { static double sum; int costRoubles, costCopecks; String list = "ÐобавленнÑе ÑоваÑÑ:\n", printCostCopecks; void inputProduct() { while (true) { Scanner scanner = new Scanner(System.in); System.out.println("Ðакой ÑÐ¾Ð²Ð°Ñ Ð²Ñ Ñ Ð¾ÑиÑе заказаÑÑ?"); String product = scanner.nextLine(); System.out.println("Ðакова ÑÑоимоÑÑÑ ÑоваÑа '" + product + "'?\nСÑоимоÑÑÑ ÑоваÑа введиÑе в ÑоÑмаÑе\nÐ Ñбли: 11\nÐопейки: 45"); while (true) { System.out.print("Ð Ñбли: "); String amountRoubles = scanner.nextLine(); try { costRoubles = Integer.parseInt(amountRoubles); if (costRoubles>-1) { break; } else { System.out.println("ÐÑибка ввода. ЧиÑло ÑÑблей не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑной велиÑиной."); } } catch (NumberFormatException nfe) { System.out.println("ÐÑибка ввода. ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи Ñелое ÑиÑло."); } } while (true) { System.out.print("Ðопейки: "); String amountCopecks = scanner.nextLine(); try { costCopecks = Integer.parseInt(amountCopecks); if (costCopecks>-1 && costCopecks<100) { break; } else { System.out.println("ÐÑибка ввода. ЧиÑло копеек должно бÑÑÑ Ð² диапазоне Ð¾Ñ 0 до 99."); } } catch (NumberFormatException nfe) { System.out.println("ÐÑибка ввода. ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи Ñелое ÑиÑло."); } } Declension dec = new Declension(); double dcostRoubles = costRoubles; dec.decline(dcostRoubles); if (costCopecks<10) { printCostCopecks = "0" + costCopecks; } else { printCostCopecks = "" + costCopecks; } System.out.println("ÐÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ð»Ð¸ ÑÐ¾Ð²Ð°Ñ " + product + " ÑÑоимоÑÑÑÑ " + costRoubles + "." + printCostCopecks + " " + Declension.rouble + " в ÑпиÑок покÑпок.\nÐÑли Ñ Ð¾ÑиÑе законÑиÑÑ ÑоÑмиÑование ÑпиÑка ÑоваÑов, введиÑе 'ÐавеÑÑиÑÑ'.\nÐÑли Ñ Ð¾ÑиÑе добавиÑÑ ÑоваÑ, введиÑе лÑбой дÑÑгой Ñимвол."); double dcostCopecks = costCopecks; sum = sum + costRoubles + (dcostCopecks / 100); list = list + product + " " + costRoubles + "." + printCostCopecks + " " + Declension.rouble + ".\n"; String request = scanner.nextLine(); if (request.equalsIgnoreCase("ÐавеÑÑиÑÑ")){ System.out.println(list); dec.decline(Math.floor(sum)); String sumPrint = String.format ("%.2f", sum); sumPrint = sumPrint.replace(',','.'); System.out.println("ÐбÑÐ°Ñ ÑÑмма - " + sumPrint + " " + Declension.rouble + "."); break; } } } } class Declension { static String rouble; void decline (double a) { String cut = String.format ("%.2f", a); int c2 = cut.charAt(cut.length() - 4) - 48; if (c2 == 0 || c2 > 4) rouble = "ÑÑблей"; if (c2 == 1) rouble = "ÑÑблÑ"; if (c2 > 1 && c2 < 5) rouble = "ÑÑблÑ"; if (a>=10) { int c1 = cut.charAt(cut.length() - 5) - 48; if (c1 == 1) { rouble = "ÑÑблей"; } } } }