import java.util.ArrayList;
import java.util.Scanner;
public class Main {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
ArrayList namesList = new ArrayList<>(); //Ð´Ð»Ñ Ð²Ñвода ÑпиÑка позиÑий
ArrayList countsList = new ArrayList<>(); //Ð´Ð»Ñ Ð²Ñвода ÑÐµÐ½Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑоваÑа
String name; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ð¹ ÑоваÑов
double count; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ ÑÐµÐ½Ñ ÑоваÑа
String outOrNot; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ Ñикла Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑоваÑов
double allCount = 0.00; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÑвеÑаÑÑÐ°Ñ Ð·Ð° обÑий ÑÑеÑ
int i; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва Ñеловек
int n; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ ÑÑеÑÑика вÑвода ÑпиÑка ÑоваÑов и иÑ
Ñен
String text; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÑвеÑаÑÑÐ°Ñ Ð·Ð° вÑвод иÑоговой ÑÑÐ¼Ð¼Ñ Ð½Ð° каждого в ÑоÑмаÑе 10.45
String text2 = null; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÑвеÑаÑÑÐ°Ñ Ð·Ð° вÑвод ÑÑблÑ/ÑÑблÑ/ÑÑблей
double resultCount; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÑвеÑаÑÑÐ°Ñ Ð·Ð° Ñазделение ÑÑеÑа на каждого
int l; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÐºÐ¾ÑоÑÐ°Ñ Ð¾Ð¿ÑеделÑÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво Ñимволов в ÑÑеÑе на каждого Ñм.text
String text3 = null; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÑвеÑаÑÑÐ°Ñ Ð·Ð° вÑвод ÑÑблÑ/ÑÑблÑ/ÑÑблей в каждом ÑоваÑе
String text4; //пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ñикла вÑвода ÑÑблÑ/ÑÑблÑ/ÑÑблей в каждом ÑоваÑе
System.out.println("Ðа ÑколÑкиÑ
Ñеловек необÑ
одимо ÑазделиÑÑ ÑÑÑÑ?"); //Ñикл Ñ Ð¿ÑовеÑками на подÑ
одÑÑее колиÑеÑÑво Ñеловек
while (true) {
if (scanner.hasNextInt()) {
i = scanner.nextInt();
if (i > 1) {
break;
} else {
System.out.println("ÐÑибка! ÐведиÑе коÑÑекÑное знаÑение на ÑколÑкиÑ
Ñеловек необÑ
одимо ÑазделиÑÑ ÑÑÑÑ");
}
} else {
System.out.println("ÐÑибка! ÐведиÑе ÑелоÑиÑленное знаÑение болÑÑе 1");
scanner.next();
}
}
do {
System.out.println("ÐведиÑе название ÑоваÑа"); //Ñикл Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑоваÑов в ArrayList и ÑÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñ
ÑÑоимоÑÑи
name = scanner.next();
System.out.println("ÐведиÑе ÑÑоимоÑÑÑ ÑÑого ÑоваÑа");
while (true) {
if (scanner.hasNextDouble()) {
count = scanner.nextDouble();
if (count >= 0.01) {
break;
} else {
System.out.println("ÐÑибка! ÐведиÑе ÑÐµÐ½Ñ ÑоваÑа болÑÑе 0");
}
} else {
System.out.println("ÐÑибка! ÐведиÑе ÑÐµÐ½Ñ ÑоваÑа ÑиÑлом");
scanner.next();
}
}
System.out.println("Ð¢Ð¾Ð²Ð°Ñ ÑÑпеÑно добавлен");
namesList.add(name);
countsList.add(count);
allCount = allCount + count;
System.out.println("ХоÑиÑе ли добавиÑÑ ÐµÑе один ÑоваÑ?");
outOrNot = scanner.next();
} while (!"ÐавеÑÑиÑÑ".equalsIgnoreCase(outOrNot));
System.out.println("ÐобавленнÑе ÑоваÑÑ:"); //ÐÑоговÑй вÑвод ÑоваÑов ÑеÑез ÑÑеÑÑик
for (n = 0; n < namesList.size(); n++) {
if ((countsList.get(n)%100 >= 11.00) && (countsList.get(n)%100 <= 19.99)) {
text3 = "ÑÑблей";
} else {
text4 = String.format("%.2f", countsList.get(n));
l = text4.length();
switch (text4.substring(l - 4, l - 3)) { //ÑвиÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑавилÑного оконÑаниÑ
case "1":
text3 = "ÑÑблÑ";
break;
case "2":
case "3":
case "4":
text3 = "ÑÑблÑ";
break;
case "5":
case "6":
case "7":
case "8":
case "9":
case "0":
text3 = "ÑÑблей";
break;
}
}
System.out.println(namesList.get(n) + " " + countsList.get(n) + " " + text3);
}
resultCount = (allCount / i);
text = String.format("%.2f", resultCount);
if ((resultCount%100 >= 11.00) && (resultCount%100 <= 19.99)) {
text2 = "ÑÑблей";
} else {
l = text.length();
switch (text.substring(l - 4, l - 3)) { //ÑвиÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑавилÑного оконÑаниÑ
case "1":
text2 = "ÑÑблÑ";
break;
case "2":
case "3":
case "4":
text2 = "ÑÑблÑ";
break;
case "5":
case "6":
case "7":
case "8":
case "9":
case "0":
text2 = "ÑÑблей";
break;
}
}
System.out.println("ÐÐ¾Ð»Ñ ÑÑÐ¼Ð¼Ñ Ð²ÑеÑ
ÑоваÑов на каждого Ñавна: " + text + " " + text2); //иÑоговÑй вÑвод ÑÑÐ¼Ð¼Ñ Ð½Ð° каждого в нÑжном ÑоÑмаÑе и Ñ Ð¿ÑавилÑнÑм оконÑанием
}
}