From b6826359619a4126876ace058878139c7af23b06 Mon Sep 17 00:00:00 2001 From: Gustavo Barbosa Date: Fri, 6 Dec 2024 19:18:23 -0300 Subject: [PATCH] Projeto - aula dia 06/12 --- Aula.java | 5 +++++ AulaExtra.java | 5 +++++ BancoDeDados.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++ Main.java | 42 ++++++++++++++++++++++++++++++----- 4 files changed, 102 insertions(+), 6 deletions(-) create mode 100644 AulaExtra.java create mode 100644 BancoDeDados.java diff --git a/Aula.java b/Aula.java index 35568e3..1697e3c 100644 --- a/Aula.java +++ b/Aula.java @@ -61,4 +61,9 @@ public class Aula { System.out.println("Pronto, liberados!"); } + + @Override + public String toString() { + return "Aula de " + disciplina + " do " + professor; + } } diff --git a/AulaExtra.java b/AulaExtra.java new file mode 100644 index 0000000..d745030 --- /dev/null +++ b/AulaExtra.java @@ -0,0 +1,5 @@ +public class AulaExtra extends Aula { + // TODO encapsular esse campo + // TODO opcional sobrescrever darAula pra fazer outra coisa + double pontuacaoBonus; +} diff --git a/BancoDeDados.java b/BancoDeDados.java new file mode 100644 index 0000000..e3c4c1c --- /dev/null +++ b/BancoDeDados.java @@ -0,0 +1,56 @@ +import java.util.ArrayList; + +public class BancoDeDados { + private ArrayList aulas = new ArrayList<>(); + + // Create + void guardar(Aula aula) { + aulas.add(aula); + } + + // Read + Aula pegarAulaPorDisciplina(String disciplina) { + for (Aula aula : aulas) { + if (aula.getDisciplina().equals(disciplina)) { + return aula; + } + } + return null; + } + + ArrayList pegarAulaPorProfessor(String professorPedido) { + + // Criando uma lista vazia + ArrayList aulasDoProfessor = new ArrayList<>(); + + // Lendo todas as aulas + for (Aula aula : aulas) { + + // Se o professor da aula for o que eu pedi no argumento + if (aula.getProfessor().equals(professorPedido)) { + + // Colocar na lista + aulasDoProfessor.add(aula); + } + } + + // Retornar a lista + return aulasDoProfessor; + } + + // Update - não precisa. Quem chamar o Read já tem a referência pro objeto + + // Delete + void removeAula(Aula aula) { + aulas.remove(aula); + } + + void removeAula(String disciplina) { + Aula aulaDaquelaDisciplina = pegarAulaPorDisciplina(disciplina); + aulas.remove(aulaDaquelaDisciplina); + } + + // TODO criar o lerTodas + // ArrayList lerTodas() {} + +} diff --git a/Main.java b/Main.java index a92e74e..9f2dd83 100644 --- a/Main.java +++ b/Main.java @@ -1,8 +1,11 @@ import java.time.Duration; import java.time.LocalTime; +import java.util.ArrayList; public class Main { + static BancoDeDados bancoDeDados = new BancoDeDados(); + public static void main(String[] args) throws InterruptedException { AulaPratica aulaPratica = new AulaPratica(); aulaPratica.setProfessor("Henrique"); @@ -10,24 +13,47 @@ public class Main { aulaPratica.setDisciplina("Biologia"); aulaPratica.setHorarioDeInicio(LocalTime.of(8, 0)); aulaPratica.setTempoDeAula(Duration.ofSeconds(10)); - aulaPratica.setRoteiro("Pegue 1g de solução e papapa"); Aula aulaNormal = new Aula(); - aulaNormal.setProfessor ("Jay"); aulaNormal.setNumeroDeAlunos(1); aulaNormal.setDisciplina ("Java"); aulaNormal.setHorarioDeInicio (LocalTime.of(15, 30)); aulaNormal.setTempoDeAula (Duration.ofSeconds(5)); + + Aula aulaNormal2 = new Aula(); + aulaNormal2.setProfessor ("Jay"); + aulaNormal2.setNumeroDeAlunos(1); + aulaNormal2.setDisciplina ("Python"); + aulaNormal2.setHorarioDeInicio (LocalTime.of(15, 30)); + aulaNormal2.setTempoDeAula (Duration.ofSeconds(5)); + Aula.escola = "Varejão do ensino"; - aulaNormal.setNumeroDeAlunos(-610); + // Create + bancoDeDados.guardar(aulaPratica); + bancoDeDados.guardar(aulaNormal); + bancoDeDados.guardar(aulaNormal2); - imprimeAula(aulaNormal); - aulaPratica.darAula(); - aulaNormal.darAula(); + // Read + ArrayList aulasDoJay = bancoDeDados.pegarAulaPorProfessor("Jay"); + System.out.println(aulasDoJay); // [Java, Python] + + // Delete + bancoDeDados.removeAula("Java"); + + // Update + Aula aula = bancoDeDados.pegarAulaPorDisciplina("Python"); + aula.setDisciplina("JavaScript"); + + // Read + aulasDoJay = bancoDeDados.pegarAulaPorProfessor("Jay"); + System.out.println(aulasDoJay); // [JavaScript] + // Read + ArrayList aulasDoRick = bancoDeDados.pegarAulaPorProfessor("Henrique"); + System.out.println(aulasDoRick); // [Biologia] } static void imprimeAula(Aula aulaParaImprimir) { @@ -40,4 +66,8 @@ public class Main { } } + static void montarGradeHoraria() { + // bancoDeDados.lerTodas(); + } + } \ No newline at end of file