-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.java
163 lines (137 loc) · 5.5 KB
/
main.java
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
UsuarioController usuarioController = new UsuarioController();
EventoController eventoController = new EventoController();
while (true) {
System.out.println("\nEscolha uma opção:");
System.out.println("1 - Cadastrar novo usuário");
System.out.println("2 - Cadastrar novo evento");
System.out.println("3 - Consultar eventos cadastrados e participar");
System.out.println("4 - Cancelar participação do evento");
System.out.println("0 - Sair");
int opcao = scanner.nextInt();
scanner.nextLine(); // Limpar o buffer
switch (opcao) {
case 1:
usuarioController.cadastrarNovoUsuario(scanner);
break;
case 2:
eventoController.cadastrarNovoEvento(scanner);
break;
case 3:
eventoController.consultarEventosEParticipar(scanner, usuarioController);
break;
case 4:
usuarioController.cancelarParticipacaoEvento(scanner, eventoController);
break;
case 0:
System.out.println("Saindo...");
scanner.close();
return;
default:
System.out.println("Opção inválida.");
}
}
}
}
class Usuario {
private String nome;
private String cidade;
public Usuario(String nome, String cidade) {
this.nome = nome;
this.cidade = cidade;
}
public String getNome() {
return nome;
}
public String getCidade() {
return cidade;
}
}
class UsuarioController {
private List<Usuario> usuarios = new ArrayList<>();
public void cadastrarNovoUsuario(Scanner scanner) {
System.out.print("Digite o nome do usuário: ");
String nome = scanner.nextLine();
System.out.print("Digite a cidade do usuário: ");
String cidade = scanner.nextLine();
usuarios.add(new Usuario(nome, cidade));
System.out.println("Usuário cadastrado com sucesso!");
}
public List<Usuario> getUsuarios() {
return usuarios;
}
public void cancelarParticipacaoEvento(Scanner scanner, EventoController eventoController) {
System.out.println("Eventos em que você está inscrito:");
eventoController.mostrarEventosInscritos(scanner);
System.out.print("Digite o número do evento que deseja cancelar a inscrição (ou 0 para voltar): ");
int escolha = scanner.nextInt();
scanner.nextLine(); // Limpar o buffer
if (escolha == 0) {
return;
}
eventoController.cancelarInscricaoEvento(escolha - 1);
}
}
class Evento {
private String nome;
private String endereco;
private String categoria;
private String horario;
private String descricao;
public Evento(String nome, String endereco, String categoria, String horario, String descricao) {
this.nome = nome;
this.endereco = endereco;
this.categoria = categoria;
this.horario = horario;
this.descricao = descricao;
}
public String getNome() {
return nome;
}
}
class EventoController {
private List<Evento> eventos = new ArrayList<>();
private List<Evento> eventosInscritos = new ArrayList<>();
public void cadastrarNovoEvento(Scanner scanner) {
System.out.print("Digite o nome do evento: ");
String nome = scanner.nextLine();
System.out.print("Digite o endereço do evento: ");
String endereco = scanner.nextLine();
System.out.print("Digite a categoria do evento: ");
String categoria = scanner.nextLine();
System.out.print("Digite o horário do evento: ");
String horario = scanner.nextLine();
System.out.print("Digite a descrição do evento: ");
String descricao = scanner.nextLine();
eventos.add(new Evento(nome, endereco, categoria, horario, descricao));
System.out.println("Evento cadastrado com sucesso!");
}
public void consultarEventosEParticipar(Scanner scanner, UsuarioController usuarioController) {
System.out.println("Eventos cadastrados:");
for (int i = 0; i < eventos.size(); i++) {
System.out.println((i + 1) + ". " + eventos.get(i).getNome());
}
System.out.print("Digite o número do evento que deseja participar (ou 0 para voltar): ");
int escolha = scanner.nextInt();
scanner.nextLine(); // Limpar o buffer
if (escolha == 0) {
return;
}
eventosInscritos.add(eventos.get(escolha - 1));
System.out.println("Você foi inscrito no evento com sucesso!");
}
public void mostrarEventosInscritos(Scanner scanner) {
for (int i = 0; i < eventosInscritos.size(); i++) {
System.out.println((i + 1) + ". " + eventosInscritos.get(i).getNome());
}
}
public void cancelarInscricaoEvento(int indice) {
eventosInscritos.remove(indice);
System.out.println("Inscrição cancelada com sucesso!");
}
}