import java.util.Locale; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int numberOfPerson; int countWhile = 0; int countProduct = 0; System.out.println("ÐÐ°Ñ Ð¿ÑивеÑÑÑвÑÐµÑ ÐºÐ¾Ð½ÑолÑное пÑиложение \"ÐобÑаÑÑки попилим ÑÑеÑ, а?\".\n" + "Ðа ÑколÑÐºÐ¸Ñ Ð±ÑаÑÑÐ½Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ попилиÑÑ Ð²Ð°Ñ ÑÑÑÑ?\nÐведиÑе ÑиÑловое знаÑение >1 ..."); numberOfPerson = checkingUserInputString(); checkingUserInputOfTaskCondition(numberOfPerson); Calculate calculate = new Calculate(); Formatter formatter = new Formatter(); while (true) { System.out.println("ÐÑ Ñ Ð¾ÑиÑе добавиÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ Ð¸Ð· ÑÑеÑа? \n" + "(ÐведиÑе: \"да\" - еÑли Ñ Ð¾ÑиÑе ее добавиÑÑ; \"завеÑÑиÑÑ\" - еÑли не Ñ Ð¾ÑиÑе добавлÑÑÑ)..."); String userInput = scanner.next().toLowerCase(Locale.ROOT); switch (userInput) { case "да": { System.out.println("ÐведиÑе наименование позиÑии из ÑÑеÑа..."); String nameProduct = scanner.next(); System.out.println("ÐведиÑе ÑÑоимоÑÑÑ Ð¿Ð¾Ð·Ð¸Ñии из ÑÑеÑа..."); double costProduct = checkingUserInputDouble(); checkingValueProduct(costProduct); Product product = new Product(nameProduct, costProduct); calculate.addingProductsToCalculate(product); calculate.sum(costProduct); countProduct++; break; } case "завеÑÑиÑÑ": { countWhile++; System.out.println("Ðвод позиÑий по ÑÑеÑÑ ÑÑпеÑно завеÑÑен.\n" + "ÐолиÑеÑÑво добавленнÑÑ Ð¿Ð¾Ð·Ð¸Ñий = " + countProduct +".\n\nÐобавленнÑе позиÑии:"); calculate.addingProductsToConsole(); break; } default: System.out.println("ÐÑ Ð²Ð²ÐµÐ»Ð¸ некоÑÑекÑное знаÑение, повÑоÑиÑе попÑÑкÑ..."); }if (countWhile == 1){ break; } } double division = calculate.division(calculate.sum, numberOfPerson); if (calculate.sum == 0){ System.out.println("\nÐозиÑиÑи ÑÑеÑа не бÑли добавленÑ, неÑего пилиÑÑ. ÐавеÑÑение пÑогÑаммÑ, бÑаÑÐ¸Ñ ;)"); }else { String outputText = String.format("\nÐбÑÐ°Ñ ÑÑоимоÑÑÑ Ð²ÑÐµÑ Ð¿Ð¾Ð·Ð¸Ñий бÑаÑÑкого ÑÑеÑа = %.2f %s\n" + "ÐолиÑеÑÑво бÑаÑÑнÑ, на коÑоÑÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ попилиÑÑ ÑÑÐµÑ = %d\n" + "ÐаждÑй бÑаÑÑÐ½Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑкинÑÑÑ Ð¿Ð¾ - %.2f %s", calculate.sum, formatter.formatter(calculate.sum), numberOfPerson, division, formatter.formatter(division)); System.out.println(outputText); } } static int checkingUserInputString (){ Scanner scanner = new Scanner(System.in); while (!scanner.hasNextInt()) { System.out.println("ÐведиÑе коÑÑекÑное знаÑение, Ñелое ÑиÑло болÑÑе 1-ого ..."); scanner.nextLine(); }return scanner.nextInt(); } static int checkingUserInputOfTaskCondition(int number){ Scanner scanner = new Scanner(System.in); while (true) { if (number == 1) { System.out.println("ÐведиÑе знаÑение >1..."); number = checkingUserInputString(); } else if (number > 1) { System.out.println("Ðведено коÑÑекÑное знаÑение колиÑеÑÑва бÑаÑÑнÑ, Ð¼Ð¾Ð»Ð¾Ð´ÐµÑ Ð±ÑаÑÐ¸Ñ ;)"); break; } else if (number <= 0) { System.out.println("Ðведено знаÑение Ð½Ð¾Ð»Ñ Ð¸Ð»Ð¸ менÑÑе нÑлÑ, повÑоÑиÑе попÑÑкÑ..."); number = checkingUserInputString(); } }return number; } static double checkingUserInputDouble(){ Scanner scanner = new Scanner(System.in); while(!scanner.hasNextDouble()) { System.out.println("ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи ЧÐСÐÐÐÐРзнаÑение ÑÑоимоÑÑи позиÑии из ÑÑеÑа, повÑоÑиÑе попÑÑкÑ..."); scanner.nextLine(); }return scanner.nextDouble(); } static double checkingValueProduct(double costProduct){ while (true) { if (costProduct <= 0) { System.out.println("Ðведено знаÑение Ð½Ð¾Ð»Ñ Ð¸Ð»Ð¸ менÑÑе нÑлÑ, повÑоÑиÑе попÑÑкÑ..."); costProduct = checkingUserInputDouble(); }else if (costProduct > 0){ System.out.println( "Ðведено коÑÑекÑное знаÑение ÑÑоимоÑÑи позиÑии из ÑÑеÑа, Ð¼Ð¾Ð»Ð¾Ð´ÐµÑ Ð±ÑаÑÐ¸Ñ ;)"); break; } }return costProduct; } }