diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..600d2d3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode \ No newline at end of file diff --git a/src/primeiroRefactoring/Endereco.java b/src/primeiroRefactoring/Endereco.java new file mode 100644 index 0000000..7b9f130 --- /dev/null +++ b/src/primeiroRefactoring/Endereco.java @@ -0,0 +1,38 @@ +package primeiroRefactoring; + +public class Endereco { + private String logradouro; + private String complemento; + private String cep; + + public Pessoa(String logradouro, String complemento, String cep) { + super(); + 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; + } +} \ No newline at end of file diff --git a/src/primeiroRefactoring/Pessoa.java b/src/primeiroRefactoring/Pessoa.java index b83ad11..4284eca 100644 --- a/src/primeiroRefactoring/Pessoa.java +++ b/src/primeiroRefactoring/Pessoa.java @@ -1,6 +1,7 @@ package primeiroRefactoring; import java.util.Date; +import primeiroRefactoring.Endereco; public class Pessoa { @@ -10,12 +11,9 @@ 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) { + public Pessoa(String nome, String cpf, String registroGeral, Date dataNascimento, String nomePai, String nomeMae, Endereco endereco) { super(); this.nome = nome; this.cpf = cpf; @@ -23,9 +21,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 +59,12 @@ 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 getEndereco() { + return this.endereco; } - public void setCep(String cep) { - this.cep = cep; + + public setEndereco(Endereco endereco) { + this.endereco = endereco; } } diff --git a/src/segundoRefactoring/Quicksort.java b/src/segundoRefactoring/Quicksort.java index e127d4c..0220319 100644 --- a/src/segundoRefactoring/Quicksort.java +++ b/src/segundoRefactoring/Quicksort.java @@ -8,13 +8,25 @@ public static void main(String[] args) throws IOException { int quantidade = 10000; int[] vetor = new int[quantidade]; - System.out.println("Vetor desordenado: "); + vetor = preencherVetorAleatoriamente(vetor); + + printVetor(vetor, "Vetor desordenado: "); + + quickSort(vetor, 0, vetor.length - 1); + + printVetor(vetor, "Vetor ordenado: "); + } + + private static int[] preencherVetorAleatoriamente(vetor) { for (int i = 0; i < vetor.length; i++) { vetor[i] = (int) (Math.random() * quantidade); - System.out.print(i + " "); } - quickSort(vetor, 0, vetor.length - 1); - System.out.println("\nVetor ordenado: "); + + return vetor; + } + + private static void printVetor(vetor, legenda) { + System.out.print(legenda); for (int i : vetor) { System.out.print(i + " "); } @@ -22,26 +34,31 @@ public static void main(String[] args) throws IOException { 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--; - } - } - vetor[inicio] = vetor[f]; - vetor[f] = pivo; - int posicaoPivo = f; + int posicaoPivo = particionarLista(vetor, inicio, fim); quickSort(vetor, inicio, posicaoPivo - 1); quickSort(vetor, posicaoPivo + 1, fim); } } + + private static void particionarLista(int[] vetor, int incio, int 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--; + } + } + vetor[inicio] = vetor[f]; + vetor[f] = pivo; + + return f; + } } diff --git a/src/terceiroRefactoring/Discente.java b/src/terceiroRefactoring/Discente.java index 9c68bec..345057e 100644 --- a/src/terceiroRefactoring/Discente.java +++ b/src/terceiroRefactoring/Discente.java @@ -2,19 +2,21 @@ import java.util.Date; -public class Discente { +public class Discente extends Pessoa { private String[] disciplinasCursadas; private Date dataIngresso; private int numeroPeriodosCursados; - private String emailPessoal; + private String matricula; + private double coeficienteRendimento; - public Discente(String[] disciplinasCursadas, Date dataIngresso, int numeroPeriodosCursados, String emailPessoal) { - super(); + public Discente(String[] disciplinasCursadas, Date dataIngresso, int numeroPeriodosCursados, String matricula, double coeficienteRendimento, String nomeCompleto, String cpf, String registroGeral, Date dataNascimento, String nomePai, String nomeMae, String email) { + super(nomeCompleto, cpf, registroGeral, dataNascimento, nomePai, nomeMae, email); this.disciplinasCursadas = disciplinasCursadas; this.dataIngresso = dataIngresso; this.numeroPeriodosCursados = numeroPeriodosCursados; - this.emailPessoal = emailPessoal; + this.matricula = matricula; + this.coeficienteRendimento = coeficienteRendimento; } public String[] getDisciplinasCursadas() { @@ -41,11 +43,19 @@ public void setNumeroPeriodosCursados(int numeroPeriodosCursados) { this.numeroPeriodosCursados = numeroPeriodosCursados; } - public String getEmailPessoal() { - return emailPessoal; + public String getMatricula() { + return matricula; } - public void setEmailPessoal(String emailPessoal) { - this.emailPessoal = emailPessoal; + public void setMatricula(String matricula) { + this.matricula = matricula; + } + + public double getCoeficienteRendimento() { + return coeficienteRendimento; + } + + public void setCoeficienteRendimento(double coeficienteRendimento) { + this.coeficienteRendimento = coeficienteRendimento; } } diff --git a/src/terceiroRefactoring/Docente.java b/src/terceiroRefactoring/Docente.java index 1f17f04..c37ebe5 100644 --- a/src/terceiroRefactoring/Docente.java +++ b/src/terceiroRefactoring/Docente.java @@ -2,19 +2,20 @@ import java.util.Date; -public class Docente { +public class Docente extends Pessoa { private String[] disciplinasMinistradas; private Date dataAdmissao; - private String emailInstitucional; private double remuneracao; + private String siape; - public Docente(String[] disciplinasMinistradas, Date dataAdmissao, String emailInstitucional, double remuneracao) { - super(); + public Docente(String[] disciplinasMinistradas, Date dataAdmissao, double remuneracao, String siape, String nomeCompleto, String cpf, String registroGeral, Date dataNascimento, String nomePai, String nomeMae, String email) { + super(nomeCompleto, cpf, registroGeral, dataNascimento, nomePai, nomeMae, email); this.disciplinasMinistradas = disciplinasMinistradas; this.dataAdmissao = dataAdmissao; this.emailInstitucional = emailInstitucional; this.remuneracao = remuneracao; + this.siape = siape; } public String[] getDisciplinasMinistradas() { @@ -33,14 +34,6 @@ public void setDataAdmissao(Date dataAdmissao) { this.dataAdmissao = dataAdmissao; } - public String getEmailInstitucional() { - return emailInstitucional; - } - - public void setEmailInstitucional(String emailInstitucional) { - this.emailInstitucional = emailInstitucional; - } - public double getRemuneracao() { return remuneracao; } @@ -48,4 +41,12 @@ public double getRemuneracao() { public void setRemuneracao(double remuneracao) { this.remuneracao = remuneracao; } + + public String getSiape() { + return siape; + } + + public void setSiape(String siape) { + this.siape = siape; + } } diff --git a/src/terceiroRefactoring/Pessoa.java b/src/terceiroRefactoring/Pessoa.java index 414afa9..f009813 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; + private String email; - public Pessoa(String nomeCompleto, String cpf, String registroGeral, Date dataNascimento, String nomePai, - String nomeMae, String siape, String matricula, double coeficienteRendimento) { + public Pessoa(String nomeCompleto, String cpf, String registroGeral, Date dataNascimento, String nomePai, String nomeMae, String email) { super(); this.nomeCompleto = nomeCompleto; this.cpf = cpf; @@ -23,9 +20,7 @@ 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; + this.email = email; } public String getNomeCompleto() { @@ -76,27 +71,11 @@ public void setNomeMae(String nomeMae) { this.nomeMae = nomeMae; } - public String getSiape() { - return siape; + public String getEmail() { + return this.email; } - 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 void setEmail(String email) { + this.email = email; } }