import java.util.Scanner; public class Main { public static void main(String[] args) { int numberOfPeople = Input.inputCheckInt(); //пÑовеÑка ввода Calculator.calculate(numberOfPeople); //подÑÑÐµÑ Ð¸ вÑвод } } class Input { public static int inputCheckInt(){ int result; System.out.println("ÐÑивеÑ. УкажиÑе на какое колиÑеÑÑво Ñеловек поделиÑÑ ÑÑеÑ: "); while(true) { Scanner sc = new Scanner(System.in); if(sc.hasNextInt()) { result = sc.nextInt(); if(result%10 > 1 && result%10 < 5){ System.out.println("СÑмма бÑÐ´ÐµÑ Ð¿Ð¾Ð´ÐµÐ»ÐµÐ½Ð° на " + result +" Ñеловека."); break; } else if (result%10 >= 5) { System.out.println("СÑмма бÑÐ´ÐµÑ Ð¿Ð¾Ð´ÐµÐ»ÐµÐ½Ð° на " + result +" Ñеловек."); break; } else{ System.out.println("ÐолиÑеÑÑво Ñеловек должно бÑÑÑ Ð±Ð¾Ð»ÑÑе 1, попÑобÑйÑе Ñнова: "); } } else{ System.out.println("ÐожалÑйÑÑа, введиÑе ЦÐÐÐÐ ÑиÑло: "); } } return result; } //пÑовеÑка на Ñелое ÑиÑло Ð´Ð»Ñ ÐºÐ¾Ð»-ва лÑдей public static double inputCheckDouble(){ double resultDouble; while(true){ Scanner priceStuff = new Scanner(System.in); if(priceStuff.hasNextDouble()){ resultDouble = priceStuff.nextDouble(); if(resultDouble > 0) { break; } else { System.out.println("ÐожалÑйÑÑа, введиÑе коÑÑекÑнÑÑ ÑÑммÑ: "); } } else{ System.out.println("ÐожалÑйÑÑа, введиÑе коÑÑекÑнÑÑ ÑÑммÑ: "); } } return resultDouble; } //пÑовеÑка на дÑобное Ð´Ð»Ñ ÑÑоимоÑÑи ÑоваÑа public static boolean answerCheck(){ String resultString; while(true){ Scanner anwserString = new Scanner(System.in); resultString = anwserString.nextLine(); if(resultString.equalsIgnoreCase("завеÑÑиÑÑ")){ return false; } else if(resultString.equalsIgnoreCase("да")){ return true; } else{ System.out.println("ÐожалÑйÑÑа, введиÑе Ð¾Ð´Ð½Ñ Ð¸Ð· доÑÑÑпнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´: "); } } } //пÑовеÑка на ввод доÑÑÑпнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´ } class Stuff { String label = ""; double price = 0; public static double addStuff(){ Stuff npStuff = new Stuff(); while(true){ System.out.println("УкажиÑе наименование ÑоваÑа: "); Scanner nameStuff = new Scanner(System.in); npStuff.label = npStuff.label + "\n" + nameStuff.nextLine(); System.out.println("УкажиÑе ÑÑоимоÑÑÑ ÑоваÑа: "); double e = Input.inputCheckDouble(); npStuff.price = npStuff.price + e; System.out.println("Ð¢Ð¾Ð²Ð°Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½. \nХоÑиÑе добаиÑÑ ÐµÑе один ÑоваÑ? \nÐведиÑе 'Ðа', ÑÑÐ¾Ð±Ñ Ð¿ÑодолжиÑÑ Ð¸ 'ÐавеÑÑиÑÑ', ÑÑÐ¾Ð±Ñ Ð·Ð°ÐºÐ¾Ð½ÑиÑÑ"); if(!Input.answerCheck()){ break; } } System.out.println("СпиÑок ÑоваÑов: \n" + npStuff.label); return npStuff.price; } //добавиÑÑ ÑÐ¾Ð²Ð°Ñ } class Calculator { public static void calculate(int result){ double finalPrice = Stuff.addStuff(); String fullPrice = "\nÐбÑÐ°Ñ ÑÑоимоÑÑÑ Ð²ÑÐµÑ ÑоваÑов: %.2f"; System.out.println(String.format(fullPrice, finalPrice) + roubles(finalPrice)); finalPrice = finalPrice/result; String message = "\nÐÑÐ¾Ð³Ð¾Ð²Ð°Ñ ÑÑмма на 1 Ñеловека: %.2f"; System.out.println(String.format(message, finalPrice) + roubles(finalPrice)); } //подÑÑÐµÑ Ð¸ вÑвод ÑезÑлÑÑаÑа public static String roubles(double varPrice){ String rubResult; if(Math.floor(varPrice)%10 == 1 && Math.floor(varPrice) != 11){ rubResult= "ÑÑблÑ"; } else if(Math.floor(varPrice)%10 >= 2 && Math.floor(varPrice)%10 <= 4 ) { rubResult = " ÑÑблÑ"; } else{ rubResult = " ÑÑблей"; } return rubResult; } //ÑÑблÑ/лÑ/лей