import java.util.Scanner; // ÐлаÑÑ Ñека public class Check { // позиÑии в Ñеке private String[] items = {}; // обÑаÑÑ ÑÑмма Ñека private double summa = 0.0; // колиÑеÑÑво гоÑÑей private int guestsNumber = 0; // ÑÑаÑÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð·Ð¸Ñии в Ñек private static final int addStatusStop = 0;// законÑили добавлÑÑÑ private static final int addStatusSuccess = 1;// ÑÑпеÑно добавили // добавление позиÑии в Ñек private int addItem(String item) { String[] array = new String[this.items.length+1]; System.arraycopy(this.items, 0, array, 0, this.items.length); array[this.items.length] = item; this.items = array; // ÑÑпеÑно добавили return addStatusSuccess; } // запÑÑк Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð·Ð¸Ñий в Ñек public void addItems() { int i; // запÑаÑиваем название, пока не бÑÐ´ÐµÑ Ñигнала оÑÑановиÑÑÑÑ while ((i = getItemName())!=addStatusStop) { // ÑÑпеÑно добавили название if (i == addStatusSuccess) { // запÑаÑиваем ÑÐµÐ½Ñ getPrice(); } } } // запÑÐ¾Ñ Ð½Ð°Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð·Ð¸Ñии int getItemName() { String stopWord = "завеÑÑиÑÑ"; System.out.println(this.items.length>0 ? "ÐелаеÑе добавиÑÑ ÐµÑе? ÐведиÑе название ÑоваÑа или Ñлово "+stopWord : "ÐведиÑе название ÑоваÑа"); Scanner scanner = new Scanner(System.in); String item = scanner.next(); // Ñигналом к оÑÑановке ÑлÑÐ¶Ð¸Ñ Ñовпадение Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñо ÑÑоп Ñловом // в пÑоÑивном ÑлÑÑае - добавлÑем позиÑÐ¸Ñ Ð² Ñек return item.equalsIgnoreCase(stopWord) ? addStatusStop : this.addItem(item); } // запÑÐ¾Ñ ÑÐµÐ½Ñ Ð¿Ð¾Ð·Ð¸Ñии void getPrice() { boolean success=false; String input; Scanner scanner = new Scanner(System.in); while (!success) { System.out.println("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа "+ this.items[this.items.length-1] +" (ÑÑб,коп):"); // ввод ÑÑÑоки, ÑазÑеÑим пиÑаÑÑ ÐºÐ¾Ð¿ÐµÐ¹ÐºÐ¸ ÑеÑез запÑÑÑÑ input = scanner.next().replace(",", "."); // пÑовеÑка на ÑиÑло try { // ÑиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой из ÑÑÑоки double d = Float.parseFloat(input); if (d>0) { // окÑÑглением пÑевÑаÑим в ÑиÑло Ñ Ð´Ð²ÑÐ¼Ñ Ð·Ð½Ð°ÐºÐ°Ð¼Ð¸ поÑле ÑоÑки this.summa += Math.ceil(d * 100) / 100; // полÑÑилоÑÑ - можно вÑÑ Ð¾Ð´Ð¸ÑÑ Ð¸Ð· Ñикла success = true; System.out.println("Ðобавлено."); } } catch (NumberFormatException e) { // пÑовеÑка на ÑиÑло не пÑоÑла, ÑÑÐ¿ÐµÑ Ð° Ð½ÐµÑ - Ñикл пÑодолжаеÑÑÑ } } } // запÑоÑим колиÑеÑÑво гоÑÑей public void setGuests() { String input; Scanner scanner = new Scanner(System.in); while (this.guestsNumber ==0) { int maxPeople = 10; System.out.println("Ðа ÑколÑко Ñеловек делим ÑÑÐµÑ (2-"+ maxPeople +")?"); try { input = scanner.next(); int peopleInt = Integer.parseInt(input); if ((peopleInt>=1) && (peopleInt<= maxPeople)) { this.guestsNumber = peopleInt; } } catch (NumberFormatException e) { // колиÑеÑÑво гоÑÑей вÑе еÑе 0 - запÑÐ¾Ñ Ð¿Ð¾Ð²ÑоÑиÑÑÑ } } } // вÑведем ÑезÑлÑÑÐ°Ñ void showResult() { System.out.println("ÐобавленнÑе ÑоваÑÑ:"); // вÑведем каждÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½ÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ for (String item : this.items) { System.out.println(item); } System.out.println("--------------------"); // ÑколÑко должен заплаÑиÑÑ ÐºÐ°Ð¶Ð´Ñй гоÑÑÑ double eachSumma = this.summa/this.guestsNumber; System.out.println("С каждого гоÑÑÑ: " + String.format("%.2f", eachSumma) + " " + Helper.getWordForm(eachSumma, "ÑÑблÑ", "ÑÑблÑ", "ÑÑблей")); } }