-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
82 lines (73 loc) · 4.07 KB
/
Copy pathMain.java
File metadata and controls
82 lines (73 loc) · 4.07 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
public class Main {
public static void main(String[] args) {
SimpleGUI gui = new SimpleGUI();
gui.bigField.addActionListener(e -> {
while (true) {
String str = gui.bigField.getText();
if (str.split(" ").length != 4) {
if (str.split("\\.").length == 3) {
gui.ShowDialogMessage("Введите ФИО в формате: Фамилия Имя Отчество");
gui.bigField.setText("");
break;
} else {
gui.ShowDialogMessage("Введите ФИО и дату рождения в формате: Фамилия Имя Отчество dd.MM.yyyy");
gui.bigField.setText("");
break;
}
} else {
if (str.split("\\.").length != 3) {
gui.ShowDialogMessage("Введите дату рождения в формате: dd.MM.yyyy");
break;
} else {
if (str.indexOf(".") < str.indexOf(" ")) {
gui.ShowDialogMessage("Поменяйте местами ввод ФИО и даты рождения и повторите попытку.");
break;
} else {
String[] input = str.split(" |\\.");
// работа с полом человека
int genderCount = 0;
if (input[2].endsWith("ч")) {
genderCount--;
} else if (input[2].endsWith("а")) {
genderCount++;
}
if ((input[1].endsWith("а") || input[1].endsWith("я") || input[1].endsWith("ь")) && !(input[1].equals("Данила")) && !(input[1].equals("Никита"))) {
genderCount++;
} else {
genderCount--;
}
char gender = 'g';
if (genderCount > 0) {
gender = 'Ж';
} else if (genderCount < 0) {
gender = 'М';
} else {
gui.ShowDialogMessage("Невозможно идентифицировать пол, проверьте правильность введенных данных.");
break;
}
// работа с датой рождения
Date workWithDate = new Date(input[3], input[4], input[5]);
if (!workWithDate.isValidDate()) {
gui.ShowDialogMessage("Введена некорректная дата, проверьте данные и повторите попытку.");
break;
}
int age = workWithDate.ageCount();
String ageEnd;
if (age % 10 == 1 && age != 11) {
ageEnd = "год";
} else if ((age % 10 == 2 || age % 10 == 3 || age % 10 == 4) && (age != 12 && age != 13 && age != 14)) {
ageEnd = "года";
} else {
ageEnd = "лет";
}
String output = String.format("%s %c.%c. %c %d %s", input[0], input[1].charAt(0), input[2].charAt(0), gender, age, ageEnd);
gui.ShowDialogMessage(output);
gui.bigField.setText("");
break;
}
}
}
}
});
}
}