import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class Calculator {
int count = -1;
Scanner scanner = new Scanner(System.in);
List cart = new LinkedList<>();
double total;
Formatter formatter = new Formatter();
public void start() {
do {
System.out.println("на ÑколÑкиÑ
Ñеловек необÑ
одимо ÑазделиÑÑ ÑÑÑÑ?");
if (scanner.hasNextInt()) {
count = scanner.nextInt();
} else {
scanner.next();
}
if (count == 1) {
System.out.println("ÑÑÑ Ð½Ð¸Ñего ÑÑиÑаÑÑ Ð¸ делиÑÑ");
} else if (count < 1) {
System.out.println("ÑкажиÑе Ñелое ÑиÑло, болÑÑе 1");
} else {
setCart();
result();
}
} while (count < 1);
scanner.close();
}
/**
* Ðобавление ÑоваÑов в калÑкÑлÑÑоÑ
*/
private void setCart() {
while (true) {
System.out.println("ÑкажиÑе название ÑоваÑа или введиÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ \"ÐавеÑÑиÑÑ\"");
Product product = new Product(scanner.next());
if (product.getName().equalsIgnoreCase("ÐавеÑÑиÑÑ")) {
break;
}
do {
System.out.println("ÑкажиÑе ÑÑоимоÑÑÑ " + product.getName());
if (scanner.hasNextDouble()) {
product.setPrice(scanner.nextDouble());
} else {
scanner.next();
}
} while (product.getPrice() < 0);
cart.add(product);
total = cart.stream().mapToDouble(Product::getPrice).sum();
product.print();
}
}
private void result() {
System.out.println("ÐобавленнÑе ÑоваÑÑ:");
cart.forEach(product -> System.out.println(product.getName() + " " + formatter.formatPrice(product.getPrice())));
System.out.printf("ТекÑÑÐ°Ñ Ð¾Ð±ÑÐ°Ñ ÑÑмма вÑеÑ
ÑоваÑов %s %s%n", formatter.formatPrice(total), formatter.formatCurrency(total));
System.out.printf("ÑÑмма, коÑоÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ заплаÑиÑÑ ÐºÐ°Ð¶Ð´Ñй поÑÐ¾Ð²Ð½Ñ = %s%n", formatter.formatPrice(total / count));
}
}