Prova P2A1 PC-II Eng. Ele.
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 aviões.
Figura 1: Hierarquia de classes para objetos do tipo Avião.
Item (A) (5,0): Construir as classes e os métodos descritos na Figura 1 cujo funcionamento é detalhado na Tabela 1.
getVelocidade() getDados() printDados() Avião Retornar o valor contido
no campo velocidade se o valor no campo altitude for maior que 1000.
Senão, reduzir o valor de velocidade em 10%.
Retorna uma String contendo valores dos campos da classe.
Imprimir o
conteúdo dos
campos das
classes,
empregando o método
getDados().
Civil Retornar o mesmo valor
do método da
superclasse reduzido de 15% se o avião tiver mais de 50 passageiros.
Retorna uma String contendo valores dos campos da classe.
Emprega a
implementação da superclasse.
Militar Retornar o mesmo valor
do método da
superclasse. Se cargaAtual exceder 2000, então, reduzir em 5%.
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 P2A1 PC-II Eng. Ele.
2
Item (B) (3,0): Construir a classe TestaAviao tal que simula um cadastro de avião empregando um vetor com 10 elementos que são objetos da classe Aviao (o número de elementos é fixo). É pedido para o usuário digitar um número se desejar inserir um objeto Civil (número 1) ou um Militar (número 2). Para tanto, um objeto da classe Scanner deverá ser empregado e este deverá usar o método next(). Um exemplo do uso do objeto Scanner é dado na Figura 2. Para criar os objetos de cada classe use um construtor vazio. Imprimir todos os objetos contidos no vetor.Scanner in = new Scanner(System.in);
String opt; // valor da opção.
// Leitura do valor opt.
System.out.printf("Entre com a opção (1-Civil, 2-Militar): ");
opt = in.next();
in.nextLine();
Figura 2: Leitura de dados via teclado com objeto da classe Scanner.
Item (C) (2,0): Baseado nos comandos a serem utilizados no Item (B) e em alguns tipos de Exceção descritos 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.