import java.util.Scanner; public class Main { public static Calculator initializeCalculator(Scanner inputScanner) { int countFriends = -1; // ÐолÑÑение колиÑеÑÑва дÑÑзей. while (countFriends <= 1) { System.out.println("Ðа ÑколÑÐºÐ¸Ñ Ñеловек Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ ÑÑÑÑ?"); if (inputScanner.hasNextInt()) { countFriends = inputScanner.nextInt(); } else { System.out.println("[ÐÑибка] ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи ÑелоÑиÑленное колиÑеÑÑво дÑÑзей."); inputScanner.next(); continue; } if (countFriends == 1) { System.out.println("[ÐÑибка] ÐÐµÑ ÑмÑÑла ниÑего ÑÑиÑаÑÑ Ð¸ делиÑÑ."); } else if (countFriends < 1) { System.out.println("[ÐÑибка] " + countFriends + " - ÑÑо некоÑÑекÑное знаÑение Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑÑÑа."); } } // ÐниÑиализаÑÐ¸Ñ ÐºÐ°Ð»ÑкÑлÑÑоÑа в завиÑимоÑÑи Ð¾Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва дÑÑзей. return new Calculator(countFriends); } // Ðобавление ÑоваÑов в калÑкÑлÑÑоÑ. public static void addProductsToCalculator(Scanner inputScanner, Calculator calculator) { while (true) { System.out.println("ÐведиÑе название ÑоваÑа:"); String product = inputScanner.next(); System.out.println("ÐведиÑе ÑÐµÐ½Ñ ÑоваÑа в ÑоÑмаÑе ÑÑбли.копейки:"); while (true) { if (inputScanner.hasNextDouble()) { double productCost = inputScanner.nextDouble(); if (productCost < 0) { System.out.println("[ÐÑибка] ÐведиÑе коÑÑекÑнÑÑ ÑÐµÐ½Ñ ÑоваÑа: Ñена не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑной."); } else { calculator.addProductCost(new Product(product, productCost)); System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен в коÑзинÑ."); break; } } else { inputScanner.next(); System.out.println("[ÐÑибка] ÐведиÑе коÑÑекÑнÑÑ ÑÐµÐ½Ñ ÑоваÑа в ÑоÑмаÑе: ÑÑбли.копейки"); } } System.out.println("ХоÑиÑе ли добавиÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ ÑоваÑ? завеÑÑиÑÑ/ÑÑо-либо"); String answer = inputScanner.next(); if (answer.equalsIgnoreCase("завеÑÑиÑÑ")) { break; } } } public static void printEachFriendAmount(Calculator calculator) { double eachFriendAmount = calculator.getEachFriendAmount(); String rubles = ""; switch ((int)eachFriendAmount % 10) { case 1: rubles = "ÑÑблÑ"; break; case 2: case 3: case 4: rubles = "ÑÑблÑ"; break; case 0: case 5: case 6: case 7: case 8: case 9: rubles = "ÑÑблей"; break; } System.out.println("ÐобавленнÑе ÑоваÑÑ:\r\n" + calculator.products + String.format("%.2f", eachFriendAmount) + " " + rubles); } public static void main(String[] args) { Scanner inputScanner = new Scanner(System.in); Calculator calculator = initializeCalculator(inputScanner); addProductsToCalculator(inputScanner, calculator); printEachFriendAmount(calculator); } }