-
Notifications
You must be signed in to change notification settings - Fork 217
Expand file tree
/
Copy pathProductsList.java
More file actions
135 lines (119 loc) · 6.37 KB
/
ProductsList.java
File metadata and controls
135 lines (119 loc) · 6.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import java.util.Scanner;
import java.util.ArrayList;
public class ProductsList {
static Scanner scanner = new Scanner(System.in);
static String products; //Для названия товара
static double price; //Для цены
static ArrayList<String> listString = new ArrayList<>(); //Список для String
static ArrayList<Double> listDouble = new ArrayList<>(); //Список для Double
static int numbersOfGuests;
//**********************************************************************************************
//Метод для подсчёта гостей
public static int menuChoice() {
while (true) { //Проверка
System.out.println("Введите количество гостей: ");
if (scanner.hasNextInt()) {
numbersOfGuests = scanner.nextInt();
if (numbersOfGuests > 1) {
System.out.println("сюда калькулятор");
productsChoice();
break;
} else if (numbersOfGuests == 1) {
System.out.println("И зачем я тогда писал калькулятор? " +
"Введите от 1-го, Христа ради: ");
} else if (numbersOfGuests == 0) {
System.out.println("Если у нас 0 гостей, тогда кого считаем то? " +
"Попытка №2: ");
} else {
System.out.println("Там умер кто?! " +
"Или почему кол-во гостей отрицательное? " +
"Давай ещё раз попробуем: ");
}
} else if (scanner.hasNextDouble()) {
System.out.println("Вы пришли с детьми! " +
"Как мило! " +
"Посчитайте их как взрослого человека: ");
scanner.nextLine();
} else {
System.out.println("Введите хотя-бы число: ");
scanner.nextLine();
}
}
return numbersOfGuests;
}
//**********************************************************************************************
//Метод для добавления названия и цены товарам
public static void productsChoice() {
String answer;
while (true) {
System.out.println("Введите название товара: ");
products = scanner.next();
System.out.println("Введите цену товара: ");
while (true) {
if (scanner.hasNextDouble()) {
price = scanner.nextDouble();
if (price < 0) {
System.out.println("По-моему наш ресторан не так работает. " +
"Это не мы должны платить нам, а наоборот." +
"\nПрошу: ");
} else {
listString.add(products); //Добавляем в список название продукта
listDouble.add(price); //Добавляем в список цену продукта
System.out.println("Кушанье добавлено! ");
break;
}
} else {
System.out.println("Надо числами! Числами!!! " +
"Например 10.50 or 11.00, you know?: ");
scanner.nextLine();
}
}
//Спрашиваем хочет или не хочет, а может хочет и молчит? Хочет и молчит?
System.out.println("Не желаете ли вы добавить ещё товаров, мой господин?" +
"\nЕсли хотите, то шлёпните по клавиатуре ладонью и пусть будет что будет. " +
"\nКоли желаете завершить сей процесс, то так и напишите - \"Завершить\". " +
"\nНу либо же введите \"Да\", чтобы мне засчитали это в ТЗ: ");
answer = scanner.next();
if (answer.equalsIgnoreCase("Завершить")) { //Приводим всё к одному регистру и сверяем ввод с "Завершить"
//Показать продукты
System.out.println("Добавленные товары: ");
for (String s : listString) {
System.out.println("Кушанье: " + s); //Вывод всех товаров
}
break;
} else if (answer.equalsIgnoreCase("Да")) {
System.out.println("Молодец! Продолжаем: ");
} else {
System.out.println("Okay let's goooooooooo: ");
}
}
}
//**********************************************************************************************
//Соклько кто должен + окончания
public static Double debt() {
double sum = 0;
for (double d : listDouble) { //Считаем сумму
sum += d;
}
System.out.println("Всего накушали: " + endingRUB(sum));
System.out.println("Если по-чесноку, то с каждого: " + endingRUB(sum / numbersOfGuests));
return null;
}
//окончания
public static String endingRUB(double sum){
int ending = (int)sum % 10;
String formatEnding = String.format("%.2f", sum);
if (ending == 1){
return formatEnding + " рубль";
}
else if (ending >=2 && ending <= 4){
return formatEnding + " рубля";
}
else if (ending >= 5 && ending <= 20){
return formatEnding + " рублей";
}
else {
return formatEnding + " рублей";
}
}
}