import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //СоздаÑм ÑÐºÐ°Ð½ÐµÑ int peopleCount = peopleCountInput(scanner); //ÐапÑаÑиваем кол-во Ñеловек Calculator calculator = new Calculator(); //СоздаÑм калÑкÑлÑÑÐ¾Ñ productInputCycle(scanner, calculator); //Ðобавление ÑоваÑов в калÑкÑлÑÑÐ¾Ñ calculator.calcResult(peopleCount); //СÑиÑаем, вÑводим ÑÑÑÑ + ÑезÑлÑÑÐ°Ñ scanner.close(); //ÐакÑÑваем ÑÐºÐ°Ð½ÐµÑ } //ÐеÑконеÑнÑй Ñикл запÑоÑа кол-во Ñеловек public static int peopleCountInput(Scanner scanner) { int result; while (true) { System.out.println("Ðа ÑколÑÐºÐ¸Ñ Ñеловек Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ ÑÑÑÑ? ÐведиÑе знаÑение > 1"); String peopleCount = scanner.nextLine(); if (!peopleCount.chars().allMatch(Character::isDigit)) { //пÑовеÑка ÑодеÑÐ¶Ð¸Ñ Ð»Ð¸ ÑÑÑока ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ ÐºÑоме ÑиÑÑ 0-9 System.out.println("ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи Ñелое положиÑелÑное ÑиÑло > 1"); continue; } result = Integer.parseInt(peopleCount); if (result == 1) System.out.println("Ð ÑÑом ÑлÑÑае Ð½ÐµÑ ÑмÑÑла ниÑего ÑÑиÑаÑÑ Ð¸ делиÑÑ. ÐведиÑе знаÑение > 1"); else if (result < 1) System.out.println("ÐолиÑеÑÑво Ñеловек менÑÑе 1. ÐÑо некоÑÑекÑное знаÑение Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑÑÑа. ÐведиÑе знаÑение > 1"); else break; //result > 1 } System.out.println("ÐолиÑеÑÑво Ñеловек = " + result); return result; } //ÐеÑконеÑнÑй Ñикл запÑоÑа дейÑÑÐ²Ð¸Ñ (добавиÑÑ ÑÐ¾Ð²Ð°Ñ Ð¸Ð»Ð¸ вÑйÑи) public static void productInputCycle(Scanner scanner, Calculator calculator) { while (true) { productAddInput(scanner, calculator); System.out.println("ÐобавиÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ ÑоваÑ? ÐÑли да - введиÑе лÑбой Ñимвол, еÑли Ð½ÐµÑ - введиÑе \"ÐавеÑÑиÑÑ\""); String userChoice = scanner.nextLine(); if (userChoice.equalsIgnoreCase("завеÑÑиÑÑ")) break; } } //ÐеÑконеÑнÑй Ñикл запÑоÑа ÑоваÑа public static void productAddInput(Scanner scanner, Calculator calculator) { while (true) { System.out.println("-----------------------"); System.out.println("ÐведиÑе название ÑоваÑа"); String productName = scanner.nextLine(); System.out.println("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа (напÑÐ¸Ð¼ÐµÑ 10.45 или 11.40)"); String productPrice = scanner.nextLine(); if (productName.isEmpty()) System.out.println("ÐÑ Ð²Ð²ÐµÐ»Ð¸ пÑÑÑое название ÑоваÑа, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи название"); else if (!isFloat(productPrice)) System.out.println("ÐÑ Ð²Ð²ÐµÐ»Ð¸ непÑавилÑное знаÑение ÑÑоимоÑÑи"); else if (Float.parseFloat(productPrice) <= 0) System.out.println("ÐÑ Ð²Ð²ÐµÐ»Ð¸ знаÑение ÑÑоимоÑÑи менÑÑе или Ñавное 0, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи знаÑение > 0"); else {//ÐÑли пÑоÑли вÑе пÑовеÑки - ÑоздаÑм и добавлÑем ÑÐ¾Ð²Ð°Ñ Product product = new Product(productName, Float.parseFloat(productPrice)); calculator.addProduct(product); System.out.println("-----------------------"); break; } } } //ÐÑовеÑÑем ÑÑÑÐ¾ÐºÑ Ð½Ð° возможноÑÑÑ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² Float public static boolean isFloat(String str) { float floatValue; try { floatValue = Float.parseFloat(str); return true; } catch (NumberFormatException e) { //DO SOME } return false; } }