import java.util.PrimitiveIterator; import java.util.Scanner; public class Main { public static void main(String[] args) { // Ð²Ð°Ñ ÐºÐ¾Ð´ наÑнеÑÑÑ Ð·Ð´ÐµÑÑ // Ð²Ñ Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾Ð³ÑаниÑиваÑÑÑÑ ÑолÑко клаÑÑом Main и можеÑе ÑоздаваÑÑ Ñвои клаÑÑÑ Ð¿Ð¾ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи Scanner scanner = new Scanner(System.in); System.out.print("ÐведиÑе колиÑеÑÑво Ñеловек, Ð¼ÐµÐ¶Ð´Ñ ÐºÐ¾ÑоÑÑми нÑжно ÑазделиÑÑ ÑÑÑÑ: "); int persons; String input = scanner.next(); // заÑиÑа Ð¾Ñ Ð¿ÑиÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐºÐ¾ÑÑекÑнÑÑ Ð·Ð½Ð°Ñений while (!isValidInt(input)) { System.out.print("\nÐекоÑÑекÑное ÑиÑло! ÐолиÑеÑÑво Ñеловек должно бÑÑÑ ÑелÑм, положиÑелÑнÑм ÑиÑлом! ÐопÑобÑйÑе еÑÑ Ñаз: "); input = scanner.next(); } persons = Integer.parseInt(input); Bill bill = new Bill(); String completion = ""; while (completion.compareToIgnoreCase("ÐавеÑÑиÑÑ") != 0) { System.out.print("\nÐведиÑе название ÑоваÑа: "); bill.addToList(scanner.next()); System.out.print("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа: "); input = scanner.next(); while (!isValidDouble(input)) { System.out.print("\nÐекоÑÑекÑное ÑиÑло! СÑоимоÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ Ð²ÑÑажена положиÑелÑнÑм ÑиÑлом (ÑазделиÑÐµÐ»Ñ Ñелой и дÑобной ÑаÑÑи - ÑоÑка)! ÐопÑобÑйÑе еÑÑ Ñаз: "); input = scanner.next(); } bill.addToTotal(Double.parseDouble(input)); System.out.print("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен в ÑпиÑок! ХоÑиÑе добавиÑÑ ÐµÑÑ ÑÑо-нибÑдÑ? (ÐÐ»Ñ ÑаÑÑÑÑÑа ÑавнÑÑ Ð´Ð¾Ð»ÐµÐ¹ введиÑе \"ÐавеÑÑиÑÑ\"): "); completion = scanner.next(); } System.out.println("-----------------------------------------------------"); bill.displayTotalList(); System.out.println("----------"); bill.displayTotalCost(); System.out.println(" " + messageEndingHandler(bill.total)); System.out.println("-----------------------------------------------------"); Calculator payment = new Calculator(persons,bill); System.out.println(" " + messageEndingHandler(payment.billPerPerson)); } // пÑоÑабоÑка оконÑÐ°Ð½Ð¸Ñ Ñлова "ÑÑблÑ" в завиÑимоÑÑи Ð¾Ñ ÑÑÐ¼Ð¼Ñ public static String messageEndingHandler(double number) { String ending; String message = "ÑÑбл"; int preLastDigit = (int) number % 100 / 10; if (preLastDigit == 1) { ending = "ей"; } switch ((int) number % 10) { case 1: ending = "Ñ"; break; case 2: case 3: case 4: ending = "Ñ"; break; default: ending = "ей"; break; } return message += ending; } // пÑовеÑка знаÑÐµÐ½Ð¸Ñ Ð½Ð° ÑелоÑиÑленноÑÑÑ Ð¸ положиÑелÑноÑÑÑ public static boolean isValidInt(String str){ if (str != null && str.matches("[0-9]+") ) { if (Integer.parseInt(str) <= 0 ) { return false; } else return true; } else return false; } // пÑовеÑка знаÑÐµÐ½Ð¸Ñ Ð½Ð° веÑеÑÑвенноÑÑÑ Ð¸ положиÑелÑноÑÑÑ public static boolean isValidDouble(String str){ if (str != null && str.matches("[0-9.]+") ) { if (Double.parseDouble(str) <= 0 ) { return false; } else return true; } else return false; } }