import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
public class Calculator {
private static final Scanner in = new Scanner(System.in);
private static final HashMap bill = new HashMap<>();
public static int getCountPerson() {
int countPerson = 1;
while (countPerson <= 1) {
if (in.hasNextInt()) {
countPerson = in.nextInt();
if (countPerson == 1) {
System.out.println("Ðакой ÑмÑÑл ÑÑиÑаÑÑ Ð´Ð»Ñ 1?ÐопÑобÑй еÑе Ñаз");
} else {
System.out.println("ÐÑ Ð²Ð²ÐµÐ»Ð¸ некоÑекÑное ÑиÑло. ÐолиÑеÑÑво возможно Ð¾Ñ 2 и болÑÑе");
}
} else {
System.out.println("ÐÑ Ð²Ð²ÐµÐ»Ð¸ недопÑÑÑимÑй ÑоÑмаÑ. ÐоÑÑÑпаеÑÑÑ Ð²Ð²Ð¾Ð´ ÑолÑко ÑиÑел");
in.next();
}
}
return countPerson;
}
public static String getNamed(int amount) {
if (amount % 10 == 1 && amount % 100 != 11) {
return "ÑÑблÑ";
} else if ((amount % 10 >= 2 && amount % 10 <= 4) && !(amount % 100 >= 12 && amount % 100 <= 14)) {
return "ÑÑблÑ";
} else {
return "ÑÑблей";
}
}
private static float getCostToProduct() {
float cost = in.nextFloat();
while (cost <= 0) {
System.out.println("СÑмма не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ <= 0\n ÐопÑобÑйÑе Ñнова");
cost = in.nextFloat();
}
return cost;
}
public static void calc() {
int countPerson = getCountPerson();
System.out.print("""
ÐнÑÑÑÑкÑии Ð´Ð»Ñ ÑабоÑÑ Ñ ÐºÐ°Ð»ÑкÑÑÑоÑом.
Ðоманда `ÐобавиÑÑ` - добавлÑÐµÑ ÑÐ¾Ð²Ð°Ñ Ð² коÑзинÑ;
Ðоманда `ÐоказаÑÑ ÑÑеÑ` - вÑводи ÑÑÐµÑ Ð¿Ð¾Ð´ÐµÐ»ÐµÐ½Ð½Ñй Ð¼ÐµÐ¶Ð´Ñ ÑÑаÑÑниками;
Ðоманда `ÐавеÑÑиÑÑ` - завеÑÑÐ°ÐµÑ ÑабоÑÑ Ð¿ÑогÑаммÑ;
************************************************
ÐведиÑе командÑ:\s""");
while (true) {
String com = in.next();
switch (com.toLowerCase()) {
case "добавиÑÑ" -> {
System.out.println("ÐведиÑе название ÑоваÑа.");
String nameProduct = in.next();
System.out.println("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа");
float price = getCostToProduct();
bill.put(nameProduct, price);
System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен!");
}
case "ÑÑеÑ" -> {
Float countSum = 0.0f;
Iterator iterator = bill.keySet().iterator();
int i = 0;
Float cost = 0.0f;
String rub;
while (iterator.hasNext()) {
String key = iterator.next();
cost = bill.get(key);
int tmpCostName = cost.intValue();
i++;
rub = getNamed(tmpCostName);
countSum += cost;
System.out.printf("Ð¢Ð¾Ð²Ð°Ñ â%d: %s %.2f %s%n", i, key, cost, rub);
}
int tmpCostName = (int) (countSum / countPerson);
rub = getNamed(tmpCostName);
System.out.printf("%f %d\n",countSum, countPerson);
System.out.printf("СÑмма на каждого Ñеловека %.2f %s%n", countSum / countPerson, rub);
}
case "завеÑÑиÑÑ" -> {
System.out.println("ÐÑогÑамма завеÑÑÐ°ÐµÑ ÑабоÑÑ");
return;
}
default -> System.out.println("Ðоманда не ÑаÑпознана. ÐопÑобÑйÑе еÑе Ñаз");
}
System.out.println("ÐведиÑе командÑ");
}
}
}