Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Exercícios Java e UML, Exercícios de Engenharia Informática

Exercícios Java e UML

Tipologia: Exercícios

2015

Compartilhado em 02/02/2015

thiago-souza-cjt
thiago-souza-cjt 🇧🇷

4.5

(34)

75 documentos

1 / 9

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Série&de&Exercícios&de&EC203&–&Programação&Orientada&a&Objetos&
Engenharia&da&Computação&–&Inatel&
&
Exercício&1:&
&
Dadas&as&classes&abaixo,&uma&vez&executado&o&código&da&classe&“Runner”,&quais&serão&os&
textos& apresentados& no& console?& Escreva& os& textos& na& ordem& correta& que& serão&
apresentados.&
&
public class Contato {
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public String toString() {
String result = "Contato:\n";
result += "Nome: " + nome + "\n";
return result;
}
}
&
public class PessoaFisica
extends Contato {
private String cpf;
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
@Override
public String toString() {
String result = super.toString();
result += "CPF: " + cpf + "\n";
return result;
}
}
public class PessoaJuridica
extends Contato {
private String cnpj;
public String getCnpj() {
return cnpj;
}
public void setCnpj(String cpf) {
this.cnpj = cpf;
}
@Override
public String toString() {
String result = super.toString();
result += "CNPJ: " + cnpj + "\n";
return result;
}
}
public class Runner {
public static void main(
String[] args) {
Contato contato = new Contato();
contato.setNome("João");
PessoaJuridica pj =
new PessoaJuridica();
pj.setNome("Inatel");
pj.setCnpj("123456789-00");
imprimirContato
(pj);
imprimirContato
(contato);
}
private static void
imprimirContato(Contato contato) {
System.
out
.println(contato);
}
}
&
& &
pf3
pf4
pf5
pf8
pf9

Pré-visualização parcial do texto

Baixe Exercícios Java e UML e outras Exercícios em PDF para Engenharia Informática, somente na Docsity!

Série de Exercícios de EC203 – Programação Orientada a Objetos

Engenharia da Computação – Inatel

Exercício 1:

Dadas as classes abaixo, uma vez executado o código da classe “Runner”, quais serão os

textos apresentados no console? Escreva os textos na ordem correta que serão

apresentados.

public class Contato { private String nome; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } @Override public String toString() { String result = "Contato:\n"; result += "Nome: " + nome + "\n"; return result; } } public class PessoaFisica extends Contato { private String cpf; public String getCpf() { return cpf; } public void setCpf(String cpf) { this.cpf = cpf; } @Override public String toString() { String result = super.toString(); result += "CPF: " + cpf + "\n"; return result; } } public class PessoaJuridica extends Contato { private String cnpj; public String getCnpj() { return cnpj; } public void setCnpj(String cpf) { this.cnpj = cpf; } @Override public String toString() { String result = super.toString(); result += "CNPJ: " + cnpj + "\n"; return result; } } public class Runner { public static void main( String[] args) { Contato contato = new Contato(); contato.setNome("João"); PessoaJuridica pj = new PessoaJuridica(); pj.setNome("Inatel"); pj.setCnpj("123456789-00"); imprimirContato(pj); imprimirContato(contato); } private static void imprimirContato(Contato contato) { System. out.println(contato); } }

Dadas as classes abaixo, uma vez executado o código da classe “Runner”, quais serão os

textos apresentados no console? Escreva os textos na ordem correta que serão

apresentados.

public class Item { private String nome; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } @Override public String toString() { String result = "Produto:\n"; result += "Nome: " + nome + "\n"; return result; } } public class Produto extends Item { private ArrayList partes = new ArrayList(); public void addParte(MateriaPrima parte) { partes.add(parte); } @Override public String toString() { String result = super.toString(); int peso = 0; for(MateriaPrima parte: partes) { peso += parte.getPeso(); } result += "Peso: " + peso + "\n"; return result; } } public class MateriaPrima extends Item { private int peso; public int getPeso() { return peso; } public void setPeso(int peso) { this.peso = peso; } @Override public String toString() { String result = super.toString(); result += "Peso: " + peso + "\n"; return result; } } public class Runner { public static void main(String[] args) { Produto produto = new Produto(); produto.setNome("Macarrão"); MateriaPrima parte1 = new MateriaPrima(); parte1.setNome("Ovo"); parte1.setPeso(1); MateriaPrima parte2 = new MateriaPrima(); parte2.setNome("Farinha"); parte2.setPeso(2); produto.addParte(parte1); produto.addParte(parte2); imprimirItem(produto); imprimirItem(parte2); } private static void imprimirItem( Item item) { System. out.println(item); } }

Dado o diagrama de classes abaixo:

Uma vez executado o método abaixo:

public void testarPessoa(Pessoa pessoa) { if(pessoa instanceof Pessoa) { System.out.println("É uma pessoa."); } if(pessoa instanceof Aluno) { System.out.println("É um aluno."); } if(pessoa instanceof Professor) { System.out.println("É um professor."); } if(pessoa instanceof AlunoPos) { System.out.println("É um aluno de pós-graduação."); } if(pessoa instanceof Pesquisador) { System.out.println("É um pesquisador."); } }

Escreva o que será apresentado no console se for passado como parâmetro um objeto

de:

a) Pessoa

b) Aluno

c) Professor

d) AlunoPos

Na figura abaixo, considerando que o painel cuja borda possui o título “Dados do

visitante” utilize o gerenciador de layout GridBagLayout:

Informe os valores das propriedades gridx, gridy, gridwidth e gridheight da instância de

GridBagConstraints para os seguintes componentes:

a) JTextField que receberá o nome digitado pelo usuário

b) JTextField que receberá o cargo digitado pelo usuário

c) JRadioButton que representa o sexto “Feminino”

d) JLable “Nome:”

e) JLabel “Cargo:”

A interface ActionListener é utilizada para escutar eventos de click em um JButton. O

diagrama de classes abaixo apresenta as operações envolvidas no tratamento de

eventos. Dado um botão qualquer, crie o código necessário para tratar o evento de click

e apresentar no console a mensagem “Botão foi clicado”.

Dado o código abaixo:

1 FileParser parser = new FileParser(); 2 ProductDAO dao = new ProductDAO(); 3 try { 4 String fileName = "produtos.csv"; 5 parser.setFileName(fileName); 6 System. out.println("Pronto para parserar arquivo e salvar no banco."); 7 Product[] products = parser.parseProducts(); 8 System. out.println("Dados parseados com sucesso."); 9 dao.saveProducts(products); 10 System. out.println("Dados salvos com sucesso."); 11 } catch (FileParsingException e) { 12 System. out.println("Erro ao parsear arquivo."); 13 } catch (DAOException e) { 14 System. out.println("Erro ao salvar dados."); 15 } finally { 16 System. out.println("Encerrando conexões."); 17 parser.close(); 18 dao.close(); 19 }

Sabendo que a exceção FileParsingException pode ocorrer na linha 7 e a exceção

DAOException pode ocorrer na linha 9, responda:

a) O que será apresentado no console se ocorrer a exceção FileParsingException na

linha 7?

b) O que será apresentado no console se ocorrer a exceção DAOException na linha

c) O que será apresentado no console se nenhuma exceção ocorrer?