import java.util.Locale; import java.util.Scanner; public class Main { public static void main(String[] args) { //Ð´Ð»Ñ ÐºÐ¾ÑÑекÑной ÑабоÑÑ Ñ ÑоÑкой Locale.setDefault(Locale.US); Scanner scanner = new Scanner(System.in); // Ðвод колиÑеÑÑва лÑдей >1 int PersonsCount = 0; boolean errorPersonsCount = true; do { System.out.println("Ðа ÑколÑÐºÐ¸Ñ Ñеловек Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазделиÑÑ ÑÑÑÑ?"); try { PersonsCount = scanner.nextInt(); } catch (Exception e) { } /* алÑÑеÑнаÑÐ¸Ð²Ð½Ð°Ñ Ð¾Ð±ÑабоÑки оÑибоÑного ввода if (scanner.hasNextInt()){ PersonsCount = scanner.nextInt(); } else scanner.nextLine(); */ if (PersonsCount > 1) { errorPersonsCount = false; } else System.out.println("ÐÑибка: некоÑÑекÑное знаÑение Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑÑÑа."); scanner.nextLine(); } while (errorPersonsCount); // Ðобавление ÑоваÑов в калÑкÑлÑÑÐ¾Ñ String tovarName; float tovarPrice; boolean notEndTovars = true; Calc calc1 = new Calc(); do {Tovar tovar1 = new Tovar(); System.out.print("ÐведиÑе название ÑоваÑа: "); tovarName = scanner.nextLine(); tovar1.name = tovarName; boolean errorInPrice = true; do { tovarPrice = -1; //Ð¢Ð¾Ð²Ð°Ñ Ð²Ð²ÐµÐ»Ð¸, вводим ÑÐµÐ½Ñ ÑоваÑа System.out.print("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа: "); try { tovarPrice = scanner.nextFloat(); } catch (Exception e) { } scanner.nextLine(); if (tovarPrice >= 0) { errorInPrice = false; tovar1.price = tovarPrice; //Ð¦ÐµÐ½Ñ ÑоваÑа ввели, добавлÑем ÑÐ¾Ð²Ð°Ñ Ð² калÑкÑлÑÑÐ¾Ñ calc1.addTovar(tovar1); System.out.println("Ð¢Ð¾Ð²Ð°Ñ " + tovar1.name + " ÑÑпеÑно добавлен"); tovar1 = null; } else System.out.println("ÐÑибка: некоÑÑекÑÐ½Ð°Ñ ÑÑоимоÑÑÑ."); } while (errorInPrice); // ÐавеÑÑиÑÑ Ð²Ð²Ð¾Ð´ ÑоваÑов? System.out.println("ХоÑиÑе добавиÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ ÑоваÑ? (введиÑе ÐавеÑÑиÑÑ ÐµÑли доÑÑаÑоÑно)"); if (scanner.nextLine().equalsIgnoreCase("завеÑÑиÑÑ")) { notEndTovars = false; } } while (notEndTovars); // ÐÑвод ÑезÑлÑÑаÑа, ÐолиÑеÑÑво лÑдей, ТоваÑÑ System.out.println("ÐобавленнÑе ÑоваÑÑ:"); System.out.println(calc1.allTovars); System.out.println("ÐаждÑй Ñеловек должен заплаÑиÑÑ: " + String.format("%.2f", calc1.totalPrice / PersonsCount) + " " + floatToRubles(calc1.totalPrice / PersonsCount)); scanner.close(); } //ÐºÐ¾Ð½ÐµÑ main public static String floatToRubles(float r) { int i = (int) r; int i10 = i % 10, i100 = i % 100; if (i100 >= 10 && i100 <= 20) { return "ÑÑблей"; } else if (i10 >= 5) { return "ÑÑблей"; } else if (i10 == 0) { return "ÑÑблей"; } else if (i10 == 1) { return "ÑÑблÑ"; } else return "ÑÑблÑ"; } } class Tovar { String name = ""; float price = 0.00f; } class Calc { String allTovars = ""; float totalPrice = 0.00f; void addTovar(Tovar tovar) { allTovars += tovar.name + "\n"; totalPrice += tovar.price; } }