-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.java
More file actions
114 lines (96 loc) · 5.32 KB
/
App.java
File metadata and controls
114 lines (96 loc) · 5.32 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
import java.io.IOException;
import library.BinaryTreeAVL;
import library.BinaryTreeRecursive;
import library.Student;
import library.StudentNameComparator;
import library.StudentRegistrationComparator;
import library.UI;
public class App {
/*
* Nesse arquivo apenas instanciamos e realizamos as chamadas dos metodos da classe UI
* assim como a instancialização das nossas duas árvores
*/
public static void main(String[] args) throws IOException{
UI ui = new UI();
Boolean isRunning = true;
//Criando árvores
StudentNameComparator nameComparator = new StudentNameComparator();
StudentRegistrationComparator resgistrationComparator = new StudentRegistrationComparator();
BinaryTreeRecursive<Student> treeRegistration = new BinaryTreeRecursive<>(resgistrationComparator);
BinaryTreeRecursive<Student> treeName = new BinaryTreeRecursive<>(nameComparator);
BinaryTreeAVL<Student> treeRegistrationAVL = new BinaryTreeAVL<>(resgistrationComparator);
BinaryTreeAVL<Student> treeNameAVL = new BinaryTreeAVL<>(nameComparator);
ui.printLogo();
ui.pressEnter("Pressione 'ENTER' para ir ao menu");
while(isRunning){
switch(ui.menuSelection()){
// Funções árvores binárias
case 1: //Busca por matricula
ui.searchByRegistration(treeRegistration);
break;
case 2: //Busca por nome
ui.searchByName(treeName);
break;
case 3://Excluir por matricula
ui.deleteByRegistration(treeRegistration, treeName, treeRegistrationAVL, treeNameAVL);
break;
case 4://Excluir por nome
ui.deleteByName(treeRegistration, treeName, treeRegistrationAVL, treeNameAVL);
break;
// Funções árvores AVL
case 5: //Busca por matricula
ui.searchByRegistration(treeRegistrationAVL);
break;
case 6: //Busca por nome
ui.searchByName(treeNameAVL);
break;
case 7://Incluir aluno
ui.insertOnTree(treeRegistration, treeName, treeRegistrationAVL, treeNameAVL);
break;
case 8://Imprimindo árvore
ui.clearTerminal();
treeRegistration.printIndented(treeRegistration.getRootNode(), "", true);
ui.pressEnter("Árvore organizada por Matricula\nAperte 'ENTER' para continuar!");
ui.clearTerminal();
treeName.printIndented(treeName.getRootNode(), "", true);
ui.pressEnter("Árvore organizada por Nome\nAperte 'ENTER' para continuar!");
ui.clearTerminal();
treeRegistration.printIndented(treeRegistrationAVL.getRootNode(), "", true);
ui.pressEnter("Árvore AVL organizada por Matricula\nAperte 'ENTER' para continuar!");
ui.clearTerminal();
treeName.printIndented(treeNameAVL.getRootNode(), "", true);
ui.pressEnter("Árvore AVL organizada por Nome\nAperte 'ENTER' para continuar!");
break;
case 9:
ui.clearTerminal();
System.out.println("\033[1m" +"\033[33m" + "==================================================================================+++---");
System.out.println("Estatisticas - Árvore Organizada por Mátricula");
System.out.println("==================================================================================+++---");
ui.displayStatistics(treeRegistration);
ui.pressEnter("Árvore organizada por Matricula\nAperte 'ENTER' para continuar!");
ui.displayStatistics(treeRegistrationAVL);
ui.pressEnter("Árvore AVL organizada por Matricula\nAperte 'ENTER' para continuar!");
break;
case 10:
ui.clearTerminal();
System.out.println("\033[1m" +"\033[33m" + "==================================================================================+++---");
System.out.println("Estatisticas - Árvore Organizada por Nome");
System.out.println("==================================================================================+++---");
ui.displayStatistics(treeName);
ui.pressEnter("Árvore organizada por Nome\nAperte 'ENTER' para continuar!");
ui.displayStatistics(treeNameAVL);
ui.pressEnter("Árvore AVL organizada por Nome\nAperte 'ENTER' para continuar!");
break;
case 11:
ui.readFile(treeRegistration, treeName, treeRegistrationAVL, treeNameAVL);
break;
case 12://Sair e salvar arquivo
ui.generateOutputFile(treeRegistration);
isRunning = false;
break;
default:
break;
}
}
}
}