From 41c5aa33470431986b581cc93aed75067bec531b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Lib=C3=B3rio?= Date: Wed, 23 Nov 2022 20:22:02 -0300 Subject: [PATCH 1/3] =?UTF-8?q?Extraindo=20informa=C3=A7=C3=B5es=20de=20en?= =?UTF-8?q?dere=C3=A7o=20para=20nova=20classe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/primeiroRefactoring/Endereco.java | 31 +++++++++++++++++++++++++++ src/primeiroRefactoring/Pessoa.java | 31 ++++++--------------------- 2 files changed, 38 insertions(+), 24 deletions(-) create mode 100644 src/primeiroRefactoring/Endereco.java diff --git a/src/primeiroRefactoring/Endereco.java b/src/primeiroRefactoring/Endereco.java new file mode 100644 index 0000000..f5fe1b9 --- /dev/null +++ b/src/primeiroRefactoring/Endereco.java @@ -0,0 +1,31 @@ +package primeiroRefactoring; + +public class Endereco { + private String logradouro; + private String complemento; + private String cep; + + public Endereco(String logradouro, String complemento, String cep) { + this.logradouro = logradouro; + this.complemento = complemento; + this.cep = cep; + } + public String getLogradouro() { + return logradouro; + } + public void setLogradouro(String logradouro) { + this.logradouro = logradouro; + } + public String getComplemento() { + return complemento; + } + public void setComplemento(String complemento) { + this.complemento = complemento; + } + public String getCep() { + return cep; + } + public void setCep(String cep) { + this.cep = cep; + } +} diff --git a/src/primeiroRefactoring/Pessoa.java b/src/primeiroRefactoring/Pessoa.java index b83ad11..2dcd137 100644 --- a/src/primeiroRefactoring/Pessoa.java +++ b/src/primeiroRefactoring/Pessoa.java @@ -1,5 +1,4 @@ package primeiroRefactoring; - import java.util.Date; public class Pessoa { @@ -10,12 +9,10 @@ public class Pessoa { private Date dataNascimento; private String nomePai; private String nomeMae; - private String logradouro; - private String complemento; - private String cep; + private Endereco endereco; public Pessoa(String nome, String cpf, String registroGeral, Date dataNascimento, String nomePai, String nomeMae, - String logradouro, String complemento, String cep) { + Endereco endereco) { super(); this.nome = nome; this.cpf = cpf; @@ -23,9 +20,7 @@ public Pessoa(String nome, String cpf, String registroGeral, Date dataNascimento this.dataNascimento = dataNascimento; this.nomePai = nomePai; this.nomeMae = nomeMae; - this.logradouro = logradouro; - this.complemento = complemento; - this.cep = cep; + this.endereco = endereco; } public String getNome() { return nome; @@ -63,22 +58,10 @@ public String getNomeMae() { public void setNomeMae(String nomeMae) { this.nomeMae = nomeMae; } - public String getLogradouro() { - return logradouro; - } - public void setLogradouro(String logradouro) { - this.logradouro = logradouro; - } - public String getComplemento() { - return complemento; - } - public void setComplemento(String complemento) { - this.complemento = complemento; - } - public String getCep() { - return cep; + public Endereco getEndereco() { + return this.endereco; } - public void setCep(String cep) { - this.cep = cep; + public void setEndereco(Endereco endereco) { + this.endereco = endereco; } } From 70d78952ad719188ac12770bc9bff3324d388987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Lib=C3=B3rio?= Date: Wed, 23 Nov 2022 21:00:18 -0300 Subject: [PATCH 2/3] refatorando Quicksort --- src/segundoRefactoring/Quicksort.java | 73 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 27 deletions(-) diff --git a/src/segundoRefactoring/Quicksort.java b/src/segundoRefactoring/Quicksort.java index e127d4c..f81f097 100644 --- a/src/segundoRefactoring/Quicksort.java +++ b/src/segundoRefactoring/Quicksort.java @@ -5,43 +5,62 @@ public class Quicksort { public static void main(String[] args) throws IOException { - int quantidade = 10000; - int[] vetor = new int[quantidade]; - + int tamanho = 10_000; + int[] vetor = gerarVetorDeInteirosAleatorios(tamanho); + System.out.println("Vetor desordenado: "); - for (int i = 0; i < vetor.length; i++) { - vetor[i] = (int) (Math.random() * quantidade); - System.out.print(i + " "); - } + imprimirVetor(vetor); + quickSort(vetor, 0, vetor.length - 1); + System.out.println("\nVetor ordenado: "); + imprimirVetor(vetor); + } + + private static int[] gerarVetorDeInteirosAleatorios(int tamanho) { + int[] vetor = new int[tamanho]; + for (int i = 0; i < vetor.length; i++) { + vetor[i] = (int) (Math.random() * tamanho); + } + return vetor; + } + + private static void imprimirVetor(int[] vetor) { for (int i : vetor) { System.out.print(i + " "); } } private static void quickSort(int[] vetor, int inicio, int fim) { - if (inicio < fim) { - int pivo = vetor[inicio]; - int i = inicio + 1, f = fim; - while (i <= f) { - if (vetor[i] <= pivo) - i++; - else if (pivo < vetor[f]) - f--; - else { - int troca = vetor[i]; - vetor[i] = vetor[f]; - vetor[f] = troca; - i++; - f--; - } + if (inicio >= fim) { + return; + } + int posicaoPivo = partitionarLista(vetor, inicio, fim); + quickSort(vetor, inicio, posicaoPivo - 1); + quickSort(vetor, posicaoPivo + 1, fim); + } + + private static int partitionarLista(int[] vetor, int inicio, int fim) { + int pivo = vetor[inicio]; + int i = inicio + 1; + int f = fim; + + while (f > i) { + if (pivo > vetor[i]) + i++; + else if (pivo < vetor[f]) + f--; + else { + int troca = vetor[i]; + vetor[i] = vetor[f]; + vetor[f] = troca; + i++; + f--; } - vetor[inicio] = vetor[f]; - vetor[f] = pivo; - int posicaoPivo = f; - quickSort(vetor, inicio, posicaoPivo - 1); - quickSort(vetor, posicaoPivo + 1, fim); } + + vetor[inicio] = vetor[f]; + vetor[f] = pivo; + return f; } } From 85e6bb83c48907cd5bb736f7a6acc3bed55eac6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Lib=C3=B3rio?= Date: Wed, 23 Nov 2022 21:33:31 -0300 Subject: [PATCH 3/3] =?UTF-8?q?sendo=20contr=C3=A1rio=20=C3=A0=20heran?= =?UTF-8?q?=C3=A7a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/terceiroRefactoring/Discente.java | 48 +++++-------- src/terceiroRefactoring/Docente.java | 40 ++++------- .../InformacaoInstitucional.java | 70 +++++++++++++++++++ src/terceiroRefactoring/Pessoa.java | 32 +-------- 4 files changed, 101 insertions(+), 89 deletions(-) create mode 100644 src/terceiroRefactoring/InformacaoInstitucional.java diff --git a/src/terceiroRefactoring/Discente.java b/src/terceiroRefactoring/Discente.java index 9c68bec..532bd1b 100644 --- a/src/terceiroRefactoring/Discente.java +++ b/src/terceiroRefactoring/Discente.java @@ -1,36 +1,14 @@ package terceiroRefactoring; -import java.util.Date; - public class Discente { - - private String[] disciplinasCursadas; - private Date dataIngresso; + private InformacaoInstitucional informacaoInstitucional; + private Pessoa discente; private int numeroPeriodosCursados; - private String emailPessoal; - public Discente(String[] disciplinasCursadas, Date dataIngresso, int numeroPeriodosCursados, String emailPessoal) { - super(); - this.disciplinasCursadas = disciplinasCursadas; - this.dataIngresso = dataIngresso; + public Discente(InformacaoInstitucional informacaoInstitucional, Pessoa discente, int numeroPeriodosCursados) { + this.informacaoInstitucional = informacaoInstitucional; + this.discente = discente; this.numeroPeriodosCursados = numeroPeriodosCursados; - this.emailPessoal = emailPessoal; - } - - public String[] getDisciplinasCursadas() { - return disciplinasCursadas; - } - - public void setDisciplinasCursadas(String[] disciplinasCursadas) { - this.disciplinasCursadas = disciplinasCursadas; - } - - public Date getDataIngresso() { - return dataIngresso; - } - - public void setDataIngresso(Date dataIngresso) { - this.dataIngresso = dataIngresso; } public int getNumeroPeriodosCursados() { @@ -41,11 +19,19 @@ public void setNumeroPeriodosCursados(int numeroPeriodosCursados) { this.numeroPeriodosCursados = numeroPeriodosCursados; } - public String getEmailPessoal() { - return emailPessoal; + public InformacaoInstitucional getInformacaoInstitucional() { + return informacaoInstitucional; + } + + public void setInformacaoInstitucional(InformacaoInstitucional informacaoInstitucional) { + this.informacaoInstitucional = informacaoInstitucional; + } + + public Pessoa getDiscente() { + return discente; } - public void setEmailPessoal(String emailPessoal) { - this.emailPessoal = emailPessoal; + public void setDiscente(Pessoa discente) { + this.discente = discente; } } diff --git a/src/terceiroRefactoring/Docente.java b/src/terceiroRefactoring/Docente.java index 1f17f04..c722f8b 100644 --- a/src/terceiroRefactoring/Docente.java +++ b/src/terceiroRefactoring/Docente.java @@ -1,44 +1,30 @@ package terceiroRefactoring; -import java.util.Date; - public class Docente { - - private String[] disciplinasMinistradas; - private Date dataAdmissao; - private String emailInstitucional; + private InformacaoInstitucional informacaoInstitucional; + private Pessoa docente; private double remuneracao; - public Docente(String[] disciplinasMinistradas, Date dataAdmissao, String emailInstitucional, double remuneracao) { - super(); - this.disciplinasMinistradas = disciplinasMinistradas; - this.dataAdmissao = dataAdmissao; - this.emailInstitucional = emailInstitucional; + public Docente(InformacaoInstitucional informacaoInstitucional, Pessoa docente, double remuneracao) { + this.informacaoInstitucional = informacaoInstitucional; + this.docente = docente; this.remuneracao = remuneracao; } - public String[] getDisciplinasMinistradas() { - return disciplinasMinistradas; - } - - public void setDisciplinasMinistradas(String[] disciplinasMinistradas) { - this.disciplinasMinistradas = disciplinasMinistradas; - } - - public Date getDataAdmissao() { - return dataAdmissao; + public InformacaoInstitucional getInformacaoInstitucional() { + return informacaoInstitucional; } - public void setDataAdmissao(Date dataAdmissao) { - this.dataAdmissao = dataAdmissao; + public void setInformacaoInstitucional(InformacaoInstitucional informacaoInstitucional) { + this.informacaoInstitucional = informacaoInstitucional; } - public String getEmailInstitucional() { - return emailInstitucional; + public Pessoa getDocente() { + return docente; } - public void setEmailInstitucional(String emailInstitucional) { - this.emailInstitucional = emailInstitucional; + public void setDocente(Pessoa docente) { + this.docente = docente; } public double getRemuneracao() { diff --git a/src/terceiroRefactoring/InformacaoInstitucional.java b/src/terceiroRefactoring/InformacaoInstitucional.java new file mode 100644 index 0000000..da783d6 --- /dev/null +++ b/src/terceiroRefactoring/InformacaoInstitucional.java @@ -0,0 +1,70 @@ +package terceiroRefactoring; + +import java.util.Date; + +public class InformacaoInstitucional { + private String siape; + private String matricula; + private double coeficienteRendimento; + private String[] disciplinas; + private Date dataVinculo; + private String email; + + public InformacaoInstitucional(String siape, String matricula, double coeficienteRendimento, String[] disciplinas, + Date dataVinculo, String email) { + this.siape = siape; + this.matricula = matricula; + this.coeficienteRendimento = coeficienteRendimento; + this.disciplinas = disciplinas; + this.dataVinculo = dataVinculo; + this.email = email; + } + + public String getSiape() { + return siape; + } + + public void setSiape(String siape) { + this.siape = siape; + } + + public String getMatricula() { + return matricula; + } + + public void setMatricula(String matricula) { + this.matricula = matricula; + } + + public double getCoeficienteRendimento() { + return coeficienteRendimento; + } + + public void setCoeficienteRendimento(double coeficienteRendimento) { + this.coeficienteRendimento = coeficienteRendimento; + } + + public String[] getDisciplinas() { + return disciplinas; + } + + public void setDisciplinas(String[] disciplinas) { + this.disciplinas = disciplinas; + } + + public Date getDataVinculo() { + return dataVinculo; + } + + public void setDataVinculo(Date dataVinculo) { + this.dataVinculo = dataVinculo; + } + + public String getEmailInstitucional() { + return email; + } + + public void setEmailInstitucional(String email) { + this.email = email; + } +} diff --git a/src/terceiroRefactoring/Pessoa.java b/src/terceiroRefactoring/Pessoa.java index 414afa9..511c26f 100644 --- a/src/terceiroRefactoring/Pessoa.java +++ b/src/terceiroRefactoring/Pessoa.java @@ -10,12 +10,9 @@ public class Pessoa { private Date dataNascimento; private String nomePai; private String nomeMae; - private String siape; - private String matricula; - private double coeficienteRendimento; public Pessoa(String nomeCompleto, String cpf, String registroGeral, Date dataNascimento, String nomePai, - String nomeMae, String siape, String matricula, double coeficienteRendimento) { + String nomeMae) { super(); this.nomeCompleto = nomeCompleto; this.cpf = cpf; @@ -23,9 +20,6 @@ public Pessoa(String nomeCompleto, String cpf, String registroGeral, Date dataNa this.dataNascimento = dataNascimento; this.nomePai = nomePai; this.nomeMae = nomeMae; - this.siape = siape; - this.matricula = matricula; - this.coeficienteRendimento = coeficienteRendimento; } public String getNomeCompleto() { @@ -75,28 +69,4 @@ public String getNomeMae() { public void setNomeMae(String nomeMae) { this.nomeMae = nomeMae; } - - public String getSiape() { - return siape; - } - - public void setSiape(String siape) { - this.siape = siape; - } - - public String getMatricula() { - return matricula; - } - - public void setMatricula(String matricula) { - this.matricula = matricula; - } - - public double getCoeficienteRendimento() { - return coeficienteRendimento; - } - - public void setCoeficienteRendimento(double coeficienteRendimento) { - this.coeficienteRendimento = coeficienteRendimento; - } }