import java.util.InputMismatchException; import java.util.Scanner; public class Main { public static void main(String[] args) { final Scanner scanner = new Scanner(System.in); final Calculator calculator = new Calculator(readPersonCount(scanner)); readProducts(calculator, scanner); System.out.println(calculator.getReport()); scanner.close(); } private static int readPersonCount(final Scanner scanner) { while(true) { System.out.println("Ðа ÑколÑÐºÐ¸Ñ Ñеловек ÑазделиÑÑ ÑÑеÑ?"); try { final int personCount = scanner.nextInt(); if (personCount == 1) { System.out.println("ÐÐµÑ ÑмÑÑла делиÑÑ ÑÑÐµÑ Ð½Ð° одного Ñеловека."); } else if (personCount < 1) { System.out.println("ÐолиÑеÑÑво Ñеловек не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼ÐµÐ½ÑÑе единиÑÑ."); } else { scanner.nextLine(); return personCount; } } catch (InputMismatchException e) { System.out.println("ÐекоÑÑекÑнÑй ввод"); scanner.nextLine(); } } } private static void readProducts(final Calculator calculator, final Scanner scanner) { while (true) { final String stopWord = "ÐавеÑÑиÑÑ"; final String productName = readProductName(scanner); final double productPrice = readProductPrice(scanner); calculator.addProduct(new Product(productName, productPrice)); System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен"); System.out.printf( "ÐведиÑе \"%s\", ÑÑÐ¾Ð±Ñ Ð·Ð°Ð²ÐµÑÑиÑÑ Ð²Ð²Ð¾Ð´ ÑоваÑов, или лÑбÑÑ ÑÑÑокÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑодолжиÑÑ:%n", stopWord); if (scanner.nextLine().trim().equalsIgnoreCase(stopWord)) { return; } } } private static String readProductName(final Scanner scanner) { while (true) { System.out.println("ÐведиÑе наименование ÑоваÑа:"); final String productName = scanner.nextLine().trim(); if (productName.isEmpty()) { System.out.println("Ðаименование ÑоваÑа не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑÑм."); } else { return productName; } } } private static double readProductPrice(final Scanner scanner) { while (true) { System.out.println("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа:"); try { final double productPrice = scanner.nextDouble(); if (productPrice <= 0) { System.out.println("СÑоимоÑÑÑ ÑоваÑа должна бÑÑÑ Ð±Ð¾Ð»ÑÑе нÑлÑ."); } else { scanner.nextLine(); return productPrice; } } catch (InputMismatchException e) { System.out.println("ÐекоÑÑекÑнÑй ввод"); scanner.nextLine(); } } } }