import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// ÐапÑаÑиваем колиÑеÑÑво лÑдей Ð´Ð»Ñ ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑеÑа
int numberOfPeople = getNumberOfPeople(scanner);
// Создаем обÑÐµÐºÑ ÐºÐ°Ð»ÑкÑлÑÑоÑа
BillCalculator calculator = new BillCalculator(numberOfPeople);
// Ðвод ÑоваÑов
while (true) {
System.out.print("ÐведиÑе название ÑоваÑа (или 'ÐавеÑÑиÑÑ' Ð´Ð»Ñ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð°): ");
String itemName = scanner.next();
if (itemName.equalsIgnoreCase("ÐавеÑÑиÑÑ")) {
break;
}
double itemPrice = getItemPrice(scanner);
calculator.addItem(itemName, itemPrice);
}
// ÐÑвод ÑезÑлÑÑаÑов
calculator.displayBill();
}
private static int getNumberOfPeople(Scanner scanner) {
int numberOfPeople;
do {
System.out.print("ÐведиÑе колиÑеÑÑво лÑдей Ð´Ð»Ñ ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑеÑа: ");
while (!scanner.hasNextInt()) {
System.out.println("ÐÑибка: ÐведиÑе ÑиÑло болÑÑе 1.");
scanner.next(); // ÐÑопÑÑкаем некоÑÑекÑнÑй ввод
}
numberOfPeople = scanner.nextInt();
if (numberOfPeople <= 0) {
System.out.println("ÐÑибка: ÐекоÑÑекÑное знаÑение. ÐведиÑе ÑиÑло болÑÑе 0.");
}
} while (numberOfPeople <= 0);
return numberOfPeople;
}
private static double getItemPrice(Scanner scanner) {
double itemPrice;
do {
System.out.print("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа (в ÑоÑмаÑе ÑÑбли.копейки): ");
while (!scanner.hasNextDouble()) {
System.out.println("ÐÑибка: ÐведиÑе коÑÑекÑнÑÑ ÑÑоимоÑÑÑ.");
scanner.next(); // ÐÑопÑÑкаем некоÑÑекÑнÑй ввод
}
itemPrice = scanner.nextDouble();
if (itemPrice < 0) {
System.out.println("ÐÑибка: СÑоимоÑÑÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑной.");
}
} while (itemPrice < 0);
return itemPrice;
}
}
class BillCalculator {
private final int numberOfPeople;
private final List