import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BillSplitter {
public List items;
public double totalAmount;
public int numberOfPeople;
public BillSplitter() {
items = new ArrayList<>();
totalAmount = 0.0;
}
public void splitBill() {
Scanner scanner = new Scanner(System.in);
System.out.print("ÐведиÑе колиÑеÑÑво пеÑÑон Ð´Ð»Ñ ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑеÑа: ");
while (!scanner.hasNextInt()) {
System.out.println("ÐÑибка. ÐведиÑе коÑÑекÑное колиÑеÑÑво пеÑÑон: ");
scanner.next();
}
numberOfPeople = scanner.nextInt();
if (numberOfPeople <= 0) {
System.out.println("ÐÑибка. ÐолиÑеÑÑво пеÑÑон должно бÑÑÑ Ð±Ð¾Ð»ÑÑе нÑлÑ.");
return;
}
while (true) {
System.out.print("ÐведиÑе название ÑоваÑа или 'ÐавеÑÑиÑÑ' Ð´Ð»Ñ Ð¸Ñога: ");
String itemName = scanner.next();
if (itemName.equalsIgnoreCase("завеÑÑиÑÑ")) {
break;
}
System.out.print("ÐведиÑе колиÑеÑÑво ÑоваÑа: ");
while (!scanner.hasNextInt()) {
System.out.println("ÐÑибка. ÐведиÑе коÑÑекÑное колиÑеÑÑво ÑоваÑа: ");
scanner.next();
}
int quantity = scanner.nextInt();
if (quantity <= 0) {
System.out.println("ÐÑибка. ÐолиÑеÑÑво ÑоваÑа должно бÑÑÑ Ð±Ð¾Ð»ÑÑе нÑлÑ.");
return;
}
System.out.print("ÐведиÑе ÑÐµÐ½Ñ ÑоваÑа: ");
while (!scanner.hasNextDouble()) {
System.out.println("ÐÑибка. ÐведиÑе коÑÑекÑнÑÑ ÑÐµÐ½Ñ ÑоваÑа: ");
scanner.next();
}
double price = scanner.nextDouble();
if (price < 0) {
System.out.println("ÐÑибка. Цена ÑоваÑа не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑной.");
return;
}
double itemTotal = quantity * price;
totalAmount += itemTotal;
items.add(itemName + " - " + String.format("%.2f", itemTotal) + " " + Rubles.getSingularOrPlural(itemTotal));
}
}
public void printBill() {
double amountPerPerson = totalAmount / numberOfPeople;
System.out.println("\nСÑеÑ:");
for (String item : items) {
System.out.println(item);
}
System.out.println("\nÐбÑÐ°Ñ ÑÑмма: " + String.format("%.2f", totalAmount) + " " + Rubles.getSingularOrPlural(totalAmount));
System.out.println("СÑмма на каждого: " + String.format("%.2f", amountPerPerson) + " " + Rubles.getSingularOrPlural(amountPerPerson) + " на Ñеловека");
}
}