Prova P2B2 PC-II Eng. Mec.
1 Nome: Matricula:
Questão 1: (10,0):
O diagrama de classes da Figura 1 fornece uma hierarquia de classes que relaciona os diferentes tipos de tela.
Figura 1: Hierarquia de classes para objetos do tipo tela.
Item (A) (5,0): Construir as classes e os métodos descritos na Figura 1 cujo funcionamento é detalhado na Tabela 1.
getPreco() getDados() printDados() Tela Retornar o valor
contido no campo preco se o tamTela for menor que 37. Senão, aumentar preco em 20%.
Retorna uma String contendo valores dos campos da classe.
Imprimir o conteúdo dos campos das classes, empregando
o método
getDados().
Lcd Retornar o mesmo valor do método da superclasse acrescido de 15% se o campo nPixels for maior que 150000.
Retorna uma String contendo valores dos campos da classe.
Emprega a
implementação da superclasse.
Led Se nLeds < 200000, retornar 8% maior o valor da superclasse, senão retornar em 14% maior.
Retorna uma String contendo valores dos campos da classe.
Emprega a
implementação da superclasse.
Tabela 1: Comportamento de cada método para cada classe.
Elaborar também os construtores com e sem parâmetros de todas as classes.
Prova P2B2 PC-II Eng. Mec.
2 Item (B) (3,0): Construir a classe TestaTela tal que simula um cadastro de telas empregando um vetor cujo tamanho é definido pelo usuário e cujos elementos são objetos da classe Tela. A escolha de geração dos objetos Lcd (50%) ou Led (50%) é realizada de modo aleatório, bem como os parâmetros do construtor de cada objeto também são definidos através de valores gerados aleatoriamente. Para tanto, será necessário empregar o pacote import java.util.Random, bem como os comandos dados na Figura 2. Imprimir todos os objetos contidos no vetor.
import java.util.Random;
// Cria um objeto da classe Random que funciona como gerador aleatório.
Random randomNumbers = new Random();
// Gera valores aleatorios inteiros: valores {{0},{1}}.
aleat = randomNumbers.nextInt(2);
// Valores reais contidos no intervalo [20,50].
preco = 30*randomNumbers.nextDouble() + 20;
Figura 2: Gerando números aleatórios inteiros ou reais.
Item (C) (2,0): Baseado nos comandos a serem utilizados no Item (B) e em alguns tipos de Exceção descrita na Tabela 2, reescrever o código do Item (B) de modo a realizar o Tratamento de Exceção.
Exceção ArithmeticException IOException
ArrayIndexOutOfBounsException RunTimeException
FormatNumberException Tabela 2: Alguns tipos de Exceção.