import java.util.ArrayList;
import java.util.Scanner;
import java.util.Locale;
public class Calculator {
private ArrayList products = new ArrayList<>();
private int numberOfPeople;
private Scanner scanner = new Scanner(System.in);
private Formatter formatter = new Formatter();
private void addItem(Product product) {
products.add(product);
}
private void showSummary() {
System.out.println("СпиÑок добавленнÑÑ
ÑоваÑов:");
double totalCost = 0;
for (Product product : products) {
System.out.println("- " + product.getName());
totalCost += product.getPrice();
}
System.out.println("ÐбÑÐ°Ñ ÑÑоимоÑÑÑ: " + totalCost + " ÑÑб.");
System.out.println("СÑмма, коÑоÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ заплаÑиÑÑ ÐºÐ°Ð¶Ð´Ñй Ñеловек: " + formatter.formatTotalCost(totalCost, numberOfPeople));
}
void action() {
while (true) {
System.out.print("ÐведиÑе название ÑоваÑа (или 'ÐавеÑÑиÑÑ' Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑÑениÑ): ");
String productName = scanner.nextLine().trim();
if (productName.equalsIgnoreCase("ÐавеÑÑиÑÑ")) {
break;
}
double productCost;
while (true) {
System.out.print("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа (в ÑоÑмаÑе ÑÑбли.копейки): ");
try {
productCost = Double.parseDouble(scanner.nextLine());
if (productCost > 0) {
break;
} else {
System.out.println("ÐведиÑе положиÑелÑное ÑиÑло");
}
} catch (NumberFormatException e) {
System.out.println("ÐекоÑÑекÑнÑй ÑоÑÐ¼Ð°Ñ ÑÑоимоÑÑи ÑоваÑа. ÐожалÑйÑÑа, введиÑе ÑиÑло (в ÑоÑмаÑе ÑÑбли.копейки).");
}
}
addItem(new Product(productName, productCost));
System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен!");
while (true) {
System.out.print("ХоÑиÑе добавиÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ ÑоваÑ? (да/неÑ): ");
String answer = scanner.next().trim();
if (answer.equalsIgnoreCase("да")) {
scanner.nextLine();
break;
} else if (answer.equalsIgnoreCase("неÑ")) {
showSummary();
return;
} else {
System.out.println("ÐекоÑÑекÑнÑй ввод. ÐведиÑе ÑолÑко 'да' или 'неÑ'.");
}
}
}
}
public Calculator(int numberOfPeople) {
this.numberOfPeople = numberOfPeople;
}
}