import java.util.StringJoiner; public class Main { public static void main(String[] args) { System.out.println("Ðа ÑколÑÐºÐ¸Ñ Ñеловек Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ ÑÑÑÑ?"); String scountOfFriends = Product.scannerIn(); int countOfFriends = isGoodCount(scountOfFriends); float sum = 0; StringJoiner listProducts = new StringJoiner("\n"); while (true) { Product newProduct = Product.addNewProduct(); productAdded(newProduct); sum += newProduct.priÑe; listProducts.add(newProduct.name); String benchNow = String.format("ÐÐ¾Ð»Ð½Ð°Ñ ÑÑоимоÑÑÑ Ð¿Ð¾ÐºÑпок: %.2f\nÐобавленнÑе ÑоваÑÑ:\n%s",sum,listProducts); System.out.println(benchNow + "\nÐобавиÑÑ ÐµÑе ÑоваÑ?"); String stopIt = Product.scannerIn(); if (stopIt.equalsIgnoreCase("ÐавеÑÑиÑÑ")) break; } String result = String.format("ÐÑ Ð¿Ð¾ÑÑаÑили %.2f %s\nСпиÑок покÑпок:\n%s\nÐам нÑжно ÑкинÑÑÑÑÑ Ð¿Ð¾ %.2f %s",sum,endOfSum(sum),listProducts, sum / (float) countOfFriends, endOfSum((int) (sum / (float) countOfFriends))); System.out.println(result); } public static void productAdded(Product newProduct){ String outStr = String.format("Ðобавлен Ð¢Ð¾Ð²Ð°Ñ %s, Ñена: %.2f",newProduct.name,newProduct.priÑe); System.out.println(outStr); } public static int isGoodCount(String scount) { while (true) { if (checkForChar(scount)) { if (Integer.parseInt(scount) >= 1) { if (Integer.parseInt(scount) == 1) { System.out.println("Ðам Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¾Ð¿Ð»Ð°ÑиваÑÑ Ð²ÐµÑÑ ÑÑÐµÑ \nÐа ÑколÑÐºÐ¸Ñ Ñеловек Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ ÑÑÑÑ?"); scount = Product.scannerIn(); continue; } else System.out.println("СейÑÐ°Ñ Ð¼Ñ Ð²Ñе поÑÑиÑаем:"); break; } else scount = isCorrectNum(); } else scount = isCorrectNum(); } return Integer.parseInt(scount); } public static boolean checkForChar(String parametr) { return parametr.matches("\\d+"); } public static String isCorrectNum() { System.out.println("ÐведиÑе коÑÑекÑное ÑиÑло"); return Product.scannerIn(); } public static String endOfSum(float fsum) { int sum = (int)fsum; if (sum % 100 >= 11 && sum % 100 <= 14) return "ÑÑблей"; if (sum % 10 == 1) return "ÑÑблÑ"; if (sum % 10 >= 2 && sum % 10 <= 4) return "ÑÑблÑ"; else return "ÑÑблей"; } }