import java.util.Scanner; public class MainMenu { private Calculator calculator; //СÑаÑÑовое Ð¼ÐµÐ½Ñ public void start(){ System.out.println("ÐÑивеÑÑÑвÑÑ UserName!\nÐа ÑколÑÐºÐ¸Ñ Ñеловек Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ ÑÑÑÑ?"); Scanner scanner = new Scanner(System.in); for(;;){ try{ int peopleCount = scanner.nextInt(); if (peopleCount <= 1){ System.out.println("Ðведено не коÑÑекÑное колиÑеÑÑво Ñеловек, пожалÑйÑÑа попÑобÑйÑе Ñнова"); } else { calculator = new Calculator(peopleCount); additionalMenu(); break; } } catch (Exception e){ System.out.println("ÐÑибка ввода. ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑÑи Ñелое ÑиÑло"); scanner.nextLine(); } } } //ÐополниÑелÑное Ð¼ÐµÐ½Ñ Ð´Ð»Ñ ÑабоÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно Ñ ÐºÐ°Ð»ÑкÑлÑÑоÑом private void additionalMenu(){ Scanner scanner = new Scanner(System.in); String command = ""; while (!command.equalsIgnoreCase("ÐавеÑÑиÑÑ")){ calculator.addProduct(addProductName(), addProductCost()); command = scanner.next(); } showChequeAndProducts(); } //ÐеÑод Ð´Ð»Ñ Ð¿ÐµÑедаÑи Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÑоваÑа private String addProductName(){ Scanner scanner = new Scanner(System.in); System.out.println("ÐведиÑе название ÑоваÑа"); return scanner.nextLine(); } //ÐеÑод Ð´Ð»Ñ Ð¿ÐµÑедаÑи ÑÑоимоÑÑи ÑоваÑа private double addProductCost(){ Scanner scanner = new Scanner(System.in); System.out.println("ÐведиÑе ÑÑоимоÑÑÑ"); for(;;) { try { double cost = scanner.nextDouble(); if (cost <= 0) { System.out.println("Ðведена не коÑÑекÑÐ½Ð°Ñ ÑÑмма, попÑобÑйÑе еÑÑ Ñаз"); } else { System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен"); System.out.println("ХоÑиÑе добавиÑÑ ÐµÑе ÑоваÑ?\nÐÐ»Ñ Ð¿ÑÐ¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð²Ð²ÐµÐ´Ð¸Ñе лÑбой Ñимвол\nÐÐ»Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ Ð²Ð²ÐµÐ´Ð¸Ñе \"ÐавеÑÑиÑÑ\""); return cost; } } catch (Exception e) { System.out.println("ÐÑибка ввода ÑÑммÑ\nÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ вводиÑÑ ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой, ÑазделÑÑ Ð¸Ñ Ð·Ð°Ð¿ÑÑой или Ñелое ÑиÑло\nÐопÑобÑйÑе Ñнова"); scanner.nextLine(); } } } //ÐÑводим ÑÑÐ¼Ð¼Ñ Ð½Ð° Ñеловека и название ÑоваÑов private void showChequeAndProducts(){ System.out.println("ÐобавленнÑе ÑоваÑ:"); calculator.getProductList(); double cheque = calculator.peopleCheque(); System.out.printf(String.format("СÑмма на Ñеловека %.2f %s", cheque, getRubCase(cheque))); } //ÐеÑедаÑÑ Ð¿ÑавилÑнÑй падеж Ñлова "ÑÑблÑ" в завиÑимоÑÑи Ð¾Ñ ÑÑÐ¼Ð¼Ñ private String getRubCase(double cheque){ if (((int) cheque % 100) > 10 && ((int) cheque % 100 < 15)){ return "ÑÑблей"; } else { switch ((int) cheque % 10) { case (1) -> { return "ÑÑблÑ"; } case (2), (3), (4) -> { return "ÑÑблÑ"; } default -> { return "ÑÑблей"; } } } } }