Repository navigation
Expand file tree
/
Copy pathProduct.java
More file actions
67 lines (56 loc) · 3.42 KB
/
Copy pathProduct.java
File metadata and controls
67 lines (56 loc) · 3.42 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
import java.util.HashMap;
import java.util.Scanner;
public class Product {
public static final String ANSI_YELLOW = "\u001B[33m";
public static final String ANSI_RESET = "\u001B[0m";
public static void products(int humans) {
Scanner scanner = new Scanner(System.in);
double productPrice = 0.00f;
HashMap<String, Double> productsMap = new HashMap<String, Double>();
while (true) {
System.out.print("Введите название продукта ");
String productName = scanner.next();
System.out.print("Введите стоимоть продукта ");
try {
// вызывал конструктор parseDouble типа Double и перевожу строку в double
// Сам я не додумался, а за меня додумался интернет
productPrice = Double.parseDouble(scanner.next().replace(",", "."));
if (productPrice > 0) {
productsMap.put(productName, productPrice);
System.out.println("Товар успешно добавлен\n");
System.out.print("Желаете добавить ещё товар?(Введите да, нет, завершить) \n");
String wishQuestion = scanner.next();
if (wishQuestion.equalsIgnoreCase("завершить") ||
wishQuestion.equalsIgnoreCase("нет")) {
result(productsMap, humans);
break;
}
} else {
//Моя девушка сказала, раз эт неправильно, то почему оно не красится=)
// пользователю, говорит, непонятно, ошибка это или нет
System.out.println(ANSI_YELLOW + "Ёкарный бабай, шнурок, " +
"когда последний раз за " + "твой кофе заправка платила?" + ANSI_RESET);
}
} catch (Exception e) {
System.err.println("Ёкарный бабай, мужики, как должно выглядеть число то?");
}
}
}
private static void result(HashMap<String, Double> productsMap, int humans){
Formatter formatter = new Formatter();
double productsSum = Calculator.sumPrice(productsMap);
System.out.println("Добавленные товары:\n");
for (String i : productsMap.keySet()) {
System.out.printf("Товар \"%s\" стоимостью \"%.2f\" %s\n", i,
productsMap.get(i),
formatter.Formatter(productsMap.get(i)));
}
System.out.printf("Полная сумма всех товаров %.2f %s \n",
Calculator.sumPrice(productsMap),
formatter.Formatter(productsSum));
System.out.printf("Каждый посетитель должен заплатить %.2f %s \n",
Calculator.priceForPerson(productsMap, humans),
//Насколько правильно вызвать функцию, в которой вызывается функция? <------
formatter.Formatter(Calculator.priceForPerson(productsMap, humans)));
}
}