Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
94 lines (81 loc) · 3.89 KB
/
Copy pathMain.java
File metadata and controls
94 lines (81 loc) · 3.89 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
import java.util.Scanner;
public class Main {
public static Calculator initializeCalculator(Scanner inputScanner) {
int countFriends = -1;
// Получение количества друзей.
while (countFriends <= 1) {
System.out.println("На скольких человек необходимо разделить счёт?");
if (inputScanner.hasNextInt()) {
countFriends = inputScanner.nextInt();
} else {
System.out.println("[Ошибка] Необходимо ввести целочисленное количество друзей.");
inputScanner.next();
continue;
}
if (countFriends == 1) {
System.out.println("[Ошибка] Нет смысла ничего считать и делить.");
} else if (countFriends < 1) {
System.out.println("[Ошибка] " + countFriends + " - это некорректное значение для подсчёта.");
}
}
// Инициализация калькулятора в зависимости от количества друзей.
return new Calculator(countFriends);
}
// Добавление товаров в калькулятор.
public static void addProductsToCalculator(Scanner inputScanner, Calculator calculator) {
while (true) {
System.out.println("Введите название товара:");
String product = inputScanner.next();
System.out.println("Введите цену товара в формате рубли.копейки:");
while (true) {
if (inputScanner.hasNextDouble()) {
double productCost = inputScanner.nextDouble();
if (productCost < 0) {
System.out.println("[Ошибка] Введите корректную цену товара: цена не может быть отрицательной.");
} else {
calculator.addProductCost(new Product(product, productCost));
System.out.println("Товар успешно добавлен в корзину.");
break;
}
} else {
inputScanner.next();
System.out.println("[Ошибка] Введите корректную цену товара в формате: рубли.копейки");
}
}
System.out.println("Хотите ли добавить ещё один товар? завершить/что-либо");
String answer = inputScanner.next();
if (answer.equalsIgnoreCase("завершить")) {
break;
}
}
}
public static void printEachFriendAmount(Calculator calculator) {
double eachFriendAmount = calculator.getEachFriendAmount();
String rubles = "";
switch ((int)eachFriendAmount % 10) {
case 1:
rubles = "рубль";
break;
case 2:
case 3:
case 4:
rubles = "рубля";
break;
case 0:
case 5:
case 6:
case 7:
case 8:
case 9:
rubles = "рублей";
break;
}
System.out.println("Добавленные товары:\r\n" + calculator.products + String.format("%.2f", eachFriendAmount) + " " + rubles);
}
public static void main(String[] args) {
Scanner inputScanner = new Scanner(System.in);
Calculator calculator = initializeCalculator(inputScanner);
addProductsToCalculator(inputScanner, calculator);
printEachFriendAmount(calculator);
}
}