Upload
jonatasg3
View
215
Download
0
Embed Size (px)
DESCRIPTION
Java
Citation preview
1Linguagem de Programao I
Construo de Objetos
Exerccios
Joinvile Batista Junior
UFGD - LPI-E1 - Joinvile Batista Junior 2
Exemplo
package entidade;
public class Aluno {
public enum EstadoCivil {solteiro, casado, separado, vivo};
private String nome;private int anoNascimento;private char sexo;private EstadoCivil estadoCivil;private boolean estrangeiro;
public Aluno(String nome, int anoNascimento, char sexo,EstadoCivil estadoCivil, boolean estrangeiro) {
this.nome = nome;this. anoNascimento = anoNascimento;this.sexo = sexo;this. estadoCivil = estadoCivil;this.estrangeiro = estrangeiro;
}
2UFGD - LPI-E1 - Joinvile Batista Junior 3
Exemplo
public String getNome() {return nome;
}
public void setNome(String nome) {this.nome = nome;
}
public int getAnoNascimento() {return anoNascimento;
}
public void setAnoNascimento(int anoNascimento) {this. anoNascimento = anoNascimento;
}
public char getSexo() {return sexo;
}
UFGD - LPI-E1 - Joinvile Batista Junior 4
Exemplo
public void setSexo(char sexo) {this.sexo = sexo;
}
public EstadoCivil getEstadoCivil() {return estadoCivil;
}
public void setEstadoCivil(EstadoCivil estadoCivil) {this. estadoCivil = estadoCivil;
}
public boolean getEstrangeiro() {return estrangeiro;
}
public void setEstrangeiro(boolean estrangeiro) {this.estrangeiro = estrangeiro;
}
}
3UFGD - LPI-E1 - Joinvile Batista Junior 5
Exemplo
package controle;
import entidade.Aluno;import java.util.ArrayList;
public class ImpressoAlunos {
private static Aluno[] alunos;
public static void main(String[] args) {alunos = criarAlunos();imprimirAlunos ("Alunos Cadastrados:", alunos);ArrayList alunos_selecionados = selecionarAlunos();imprimirAlunos ("Alunos Selecionados:",
alunos_selecionados.toArray(new Aluno[alunos_selecionados.size()]));}
UFGD - LPI-E1 - Joinvile Batista Junior 6
Exemplo
private static Aluno[] criarAlunos() {Aluno[] alunos = new Aluno[8];alunos[0] = new Aluno ("Ana Julia", 1995, 'F', Aluno.EstadoCivil.solteiro, false);alunos[1] = new Aluno ("Joaquim", 1990, 'M', Aluno.EstadoCivil.casado, true);alunos[2] = new Aluno ("Ana Ligia", 1998, 'F', Aluno.EstadoCivil.solteiro, false);alunos[3] = new Aluno ("Mateus", 1991, 'M', Aluno.EstadoCivil.solteiro, false);alunos[4] = new Aluno ("Livia", 1985, 'F', Aluno.EstadoCivil.casado, true);alunos[5] = new Aluno ("Roberto", 1990, 'M', Aluno.EstadoCivil.casado, false); alunos[6] = new Aluno ("Ana Maria", 1991, 'F', Aluno.EstadoCivil.solteiro, false);alunos[7] = new Aluno ("Sandro", 1992, 'M', Aluno.EstadoCivil.solteiro, true);return alunos;
}
4UFGD - LPI-E1 - Joinvile Batista Junior 7
Exemplo
private static ArrayList selecionarAlunos() {int ano_inicial = 1990;int ano_final = 1995;Aluno.EstadoCivil estado_civil = Aluno.EstadoCivil.solteiro;System.out.println("--- Filtros de seleo: alunos nascidos entre "
+ ano_inicial + " e " + ano_final + " com estado civil "+ estado_civil + "\n");
return filtrarAlunos(ano_inicial, ano_final, estado_civil);}
UFGD - LPI-E1 - Joinvile Batista Junior 8
Exemplo
private static ArrayList filtrarAlunos(int ano_inicial,int ano_final, Aluno.EstadoCivil estado_civil) {
ArrayList alunos_selecionados = new ArrayList();for (int n = 0; n < alunos.length; n++) {
int ano_nascimento = alunos[n].getAnoNascimento();if ((ano_nascimento >= ano_inicial) && (ano_nascimento
5UFGD - LPI-E1 - Joinvile Batista Junior 9
Exemplo
private static void imprimirAlunos (String cabealho, Aluno[] alunos) {System.out.println("--- " + cabealho);String dados_aluno;for (Aluno aluno : alunos) {
dados_aluno = aluno.getNome() + " nasceu em "+ aluno.getAnoNascimento() + " - sexo: ";
if (aluno.getSexo() == 'F') dados_aluno += "feminino";else dados_aluno += "masculino";dados_aluno += " - estado civil: " + aluno.getEstadoCivil();if (aluno.isEstrangeiro()) dados_aluno += " - estrangeiro";System.out.println(dados_aluno);
}System.out.println();
}
}
UFGD - LPI-E1 - Joinvile Batista Junior 10
Lista de Exerccios
1.1 Adapte o exemplo:a) alterando os strings utilizados para informar o estado civil do aluno, de
forma a considerar o sexo do aluno (ex: aluna solteira) criando o mtodo String toStringEstadoCivil () na classe Aluno.
1.2 Adapte o exemplo:a) criando um construtor que s inicializa: nome, ano_nascimento e sexo;b) alterando o mtodo criarAlunos para utilizar esse construtor e mtodos
de alterao, para criar e inicializar os demais dados de cada aluno aps a sua criao.
6UFGD - LPI-E1 - Joinvile Batista Junior 11
Lista de Exerccios
1.3 Adapte o exemplo:a) substituindo a classe Aluno pela classe Disciplina, com os seguintes
dados: ttulo, carga horria total, carga horria prtica, tipo (obrigatria, optativa, eletiva), reuni (sim ou no);
b) e substituindo os filtros de impresso por: carga terica mnima, tipo, reuni.
1.4 Adapte o exerccio 1.3:a) pesquisando na classe String um mtodo para verificar se um string
comea com um determinado substring;b) e incluindo o filtro de pesquisa substring inicial do ttulo.
UFGD - LPI-E1 - Joinvile Batista Junior 12
Lista de Exerccios
1.5 Adapte o exemplo:a) substituindo a classe Aluno por uma classe de sua escolha, que tenha
pelo menos: um dado do tipo enumerado e um dado booleano;b) e definindo os filtros que julgar necessrio, incluido pelo menos o dado
booleano.
1.6 - Adapte o exemplo:a) substituindo todas as utilizaes de array por ArrayList;b) e usando somente iteraes do tipo: for (int n = 0; n < conjunto.size();
n++).
7UFGD - LPI-E1 - Joinvile Batista Junior 13
Lista de Exerccios
1.7 Adapte o exerccio 1.6:a) usando somente iteraes do tipo: for (Aluno aluno : alunos).
1.8 Adapte o exerccio 1.7:a) pesquisando na classe String um mtodo para comparar
lexicograficamente dois strings, tratando igualmente letras maisculas e minsculas;
b) e criando o mtodo ordenarAlunos, para ordenar os alunos criados com seus nomes em ordem alfabtica: