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 numberPeople;
while (true) {
System.out.print("Ðа ÑколÑкиÑ
Ñеловек необÑ
одимо ÑазделиÑÑ ÑÑеÑ: ");
if (scanner.hasNextInt()) {
numberPeople = scanner.nextInt();
if (numberPeople <= 1) {
System.out.println("ÐекоÑÑекÑное знаÑение. ÐведиÑе колиÑеÑÑво лÑдей болÑÑе 1.");
} else {
break;
}
} else {
scanner.next();
System.out.println("ÐекоÑÑекÑное знаÑение. ÐведиÑе Ñелое ÑиÑло.");
}
}
System.out.println("Создан калÑкÑлÑÑÐ¾Ñ Ð´Ð»Ñ " + numberPeople + " Ñеловек");
List products = new ArrayList<>();
while (true) {
System.out.print("ÐведиÑе название ÑоваÑа или 'ÐавеÑÑиÑÑ' Ð´Ð»Ñ Ð¾ÐºÐ¾Ð½ÑаниÑ: ");
String name = scanner.next();
if (name.equalsIgnoreCase("ÐавеÑÑиÑÑ")) {
break;
}
System.out.print("ÐведиÑе ÑÑоимоÑÑÑ ÑоваÑа в ÑоÑмаÑе ÑÑбли.копейки: ");
double price;
while (true) {
String priceInput = scanner.next();
try {
price = Double.parseDouble(priceInput);
if (price < 0) {
System.out.println("ÐекоÑÑекÑное знаÑение. ÐведиÑе положиÑелÑное ÑиÑло.");
} else {
break;
}
} catch (NumberFormatException e) {
System.out.println("ÐекоÑÑекÑное знаÑение. ÐведиÑе ÑиÑло.");
}
}
Product product = new Product(name, price);
products.add(product);
System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен.");
System.out.print("ХоÑиÑе добавиÑÑ ÐµÑе один ÑоваÑ? (ÐведиÑе 'ÐавеÑÑиÑÑ' Ð´Ð»Ñ Ð¾ÐºÐ¾Ð½ÑаниÑ): ");
String continueInput = scanner.next();
if (continueInput.equalsIgnoreCase("ÐавеÑÑиÑÑ")) {
break;
}
}
System.out.println("СпиÑок ÑоваÑов: ");
double total = 0;
for (Product product : products) {
System.out.println(product.getName() + " - " + product.getPrice());
total += product.getPrice();
}
long roundedTotal = Math.round(total);
System.out.println("ÐбÑÐ°Ñ ÑÑмма: " + roundedTotal);
double amountPerPerson = (double) roundedTotal / numberPeople;
long roundedAmount = Math.round(amountPerPerson);
String currency = getCurrencyString(roundedAmount);
System.out.println("ÐÐ°Ð¶Ð´Ð¾Ð¼Ñ ÑÐµÐ»Ð¾Ð²ÐµÐºÑ Ð½ÐµÐ¾Ð±Ñ
одимо заплаÑиÑÑ: " + roundedAmount + " " + currency);
}
private static String getCurrencyString(long amount) {
int roundedAmount = (int) amount;
int lastDigit = roundedAmount % 10;
int lastTwoDigits = roundedAmount % 100;
if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
return "ÑÑблей";
} else if (lastDigit == 1) {
return "ÑÑблÑ";
} else if (lastDigit >= 2 && lastDigit <= 4) {
return "ÑÑблÑ";
} else {
return "ÑÑблей";
}
}
}