-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTerminalInterface.java
More file actions
85 lines (75 loc) · 2.81 KB
/
Copy pathTerminalInterface.java
File metadata and controls
85 lines (75 loc) · 2.81 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
import java.util.Scanner;
public class TerminalInterface {
private ControleDePilha controleDePilha;
private Scanner scanner;
public TerminalInterface() {
controleDePilha = new ControleDePilha();
scanner = new Scanner(System.in);
}
public void run() {
while (true) {
System.out.println("\nSenhas do Consultório");
System.out.println("1. Adicionar Senha");
System.out.println("2. Chamar Senha");
System.out.println("3. Atender Senha");
System.out.println("4. Listar Senhas");
System.out.println("5. Sair");
System.out.print("Escolha uma opção: ");
int opcao = scanner.nextInt();
scanner.nextLine(); // consumir a nova linha
switch (opcao) {
case 1:
adicionarSenha();
break;
case 2:
chamarSenha();
break;
case 3:
atenderSenha();
break;
case 4:
listarSenhas();
break;
case 5:
System.out.println("Encerrando o programa...");
return;
default:
System.out.println("Opção inválida. Tente novamente.");
}
}
}
private void adicionarSenha() {
System.out.println("Selecione o tipo de lista:");
for (TipoLista tipo : TipoLista.values()) {
System.out.println(tipo.ordinal() + 1 + ". " + tipo);
}
int tipoIndex = scanner.nextInt();
scanner.nextLine(); // consumir a nova linha
TipoLista tipoLista = TipoLista.values()[tipoIndex - 1];
String resultado = controleDePilha.inserir(tipoLista);
System.out.println(resultado);
}
private void chamarSenha() {
String resultado = controleDePilha.chamar();
if (resultado.equals("Já existe uma senha chamada que precisa ser atendida.")) {
System.out.println("Não existe senhas cadastradas ou já existe uma senha chamada que precisa ser atendida.");
} else {
System.out.println(resultado);
}
}
private void atenderSenha() {
String resultado = controleDePilha.atender();
if (resultado != null && !resultado.equals("Nenhuma senha chamada para ser atendida.")) {
System.out.println(resultado);
} else {
System.out.println("Não existe senhas chamadas para atender.");
}
}
private void listarSenhas() {
System.out.println(controleDePilha.listar());
}
public static void main(String[] args) {
TerminalInterface terminalInterface = new TerminalInterface();
terminalInterface.run();
}
}