Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
74 lines (54 loc) · 2.57 KB
/
Copy pathMain.java
File metadata and controls
74 lines (54 loc) · 2.57 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
import java.util.Scanner;
public class Main {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Привет, username! Это калькулятор счета.\n");
//Заполним количество человек на которых будем делить счет
int persons = getPersonCount();
//Заполним счет позициями
Bill bill = fillBill();
//Напечатаем счет
bill.printBill();
//Напечатаем информацию о сумме на человека
bill.printSplitSum(persons);
}
private static int getPersonCount() {
System.out.println("На сколько человек нужно разделить счет?");
int persons = 0;
String inputText;
boolean finishFlag = false;
while (persons <= 1 && !finishFlag) {
inputText = scanner.nextLine().trim();
if (Messages.Bye(inputText)) {
finishFlag = true;
} else {
try {
persons = Integer.parseInt(inputText);
if (persons <= 0) {
System.out.println("Нет людей - нет проблем! Нельзя разделить счет на 0 или меньше человек! Попробуйте еще раз.");
} else if (persons == 1) {
System.out.println("Forever alone! Найди друзей, нельзя разделить счет на одного! Попробуй еще раз.");
}
} catch (NumberFormatException e) {
System.out.println("Мы точно в этой вселенной? Используй арабские цифры. Попробуй еще раз. ");
}
}
}
return persons;
}
private static Bill fillBill(){
Bill bill = new Bill();
System.out.println("Введите позиции из счета.\n");
String inputText;
boolean finishFlag = false;
while (!finishFlag) {
bill.addProduct();
System.out.println("Добавить еще один продукт? Для завершения введите \"" + Messages.FINISH_PHRASE + "\"");
inputText = scanner.nextLine();
if (Messages.Bye(inputText)) {
finishFlag = true;
}
}
return bill;
}
}