Buscar

LPI-E1 - Construção de Objetos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Linguagem de Programação I
Construção de Objetos
Exercícios
Joinvile Batista Junior
UFGD - LPI-E1 - Joinvile Batista Junior 2
Exemplo 
package entidade;
public class Aluno {
public enum EstadoCivil {solteiro, casado, separado, viúvo};
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;
}
2
UFGD - 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;
}
}
3
UFGD - LPI-E1 - Joinvile Batista Junior 5
Exemplo
package controle;
import entidade.Aluno;
import java.util.ArrayList;
public class ImpressãoAlunos {
private static Aluno[] alunos;
public static void main(String[] args) {
alunos = criarAlunos();
imprimirAlunos ("Alunos Cadastrados:", alunos);
ArrayList<Aluno> 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;
}
4
UFGD - LPI-E1 - Joinvile Batista Junior 7
Exemplo
private static ArrayList<Aluno> selecionarAlunos() {
int ano_inicial = 1990;
int ano_final = 1995;
Aluno.EstadoCivil estado_civil = Aluno.EstadoCivil.solteiro;
System.out.println("--- Filtros de seleção: 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<Aluno> filtrarAlunos(int ano_inicial,
int ano_final, Aluno.EstadoCivil estado_civil) {
ArrayList<Aluno> 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 <= ano_final)
&& (alunos[n].getEstadoCivil() == estado_civil)) {
alunos_selecionados.add(alunos[n]);
}
}
return alunos_selecionados;
}
5
UFGD - LPI-E1 - Joinvile Batista Junior 9
Exemplo
private static void imprimirAlunos (String cabeçalho, Aluno[] alunos) {
System.out.println("--- " + cabeçalho);
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 Exercícios
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 método 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 método criarAlunos para utilizar esse construtor e métodos 
de alteração, para criar e inicializar os demais dados de cada aluno 
após a sua criação.
6
UFGD - LPI-E1 - Joinvile Batista Junior 11
Lista de Exercícios
1.3 – Adapte o exemplo:
a) substituindo a classe Aluno pela classe Disciplina, com os seguintes 
dados: título, carga horária total, carga horária prática, tipo 
(obrigatória, optativa, eletiva), reuni (sim ou não); 
b) e substituindo os filtros de impressão por: carga teórica mínima, tipo, 
reuni.
1.4 – Adapte o exercício 1.3:
a) pesquisando na classe String um método para verificar se um string 
começa com um determinado substring;
b) e incluindo o filtro de pesquisa “substring inicial do título”.
UFGD - LPI-E1 - Joinvile Batista Junior 12
Lista de Exercícios
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 necessário, incluido pelo menos o dado 
booleano.
1.6 - Adapte o exemplo:
a) substituindo todas as utilizações de array por ArrayList;
b) e usando somente iterações do tipo: for (int n = 0; n < conjunto.size(); 
n++).
7
UFGD - LPI-E1 - Joinvile Batista Junior 13
Lista de Exercícios
1.7 – Adapte o exercício 1.6:
a) usando somente iterações do tipo: for (Aluno aluno : alunos).
1.8 – Adapte o exercício 1.7:
a) pesquisando na classe String um método para comparar 
lexicograficamente dois strings, tratando igualmente letras maiúsculas 
e minúsculas;
b) e criando o método ordenarAlunos, para ordenar os alunos criados 
com seus nomes em ordem alfabética:

Outros materiais