Buscar

Provas LP2 - Alexandre - UERJ

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 3 páginas

Prévia do material em texto

1) Dada a classe Retangulo, desenvolva por herança de classe a classe Quadrado, explorando o máximo possível os recursos e técnicas de orientação a objetos. A execução confirmada [cheked], customizada, que você TAMBÉM vai desenvolver, DimensaoErradaEx é jogada se uma das dimensões for menor ou igual a zero. Dica: um quadrado pode ser encarado como um retângulo com a base a altura do mesmo tamanho.
public class Retangulo {
	atributos
	private int base;
	private int altura;
	métodos
	public int getBase() {return base};
	public in getAltura() {return altura};
	public String toString () […]
	public int area () {return base * altura:}
	public int perimetro () {return (2 * base) + {2 * altura};}
	construtor da classe
	public Retangulo (int b, int a) throws DimensaoErradaEx {base = b; altura = a; [...]}
}
2) Desenvolva uma classe, que vai ser nosso programa principal, que vai fazer o seguinte:
(1,0) Receba pela linha de comando, um numero arbitrário de números inteiros,
(1,0) Coloca estes números num array de inteiros,
(1,0) Cria um array de objetos da classe Retangulo,
(1,0) Para cada elemento do array de inteiros, cria uma instancia de objetos da classe Quadrado e coloca na posição correspondente do array de Retangulo.
(1,0) Itera sobre o array de Retangulo e exibe a área.
3) Dado que:
class Rectangle
	java.lang.Object
		java.awt.geom.RectangularShape
			java.awt.geom.Rectangle2D
				java.awt.Rectangle
public class Rectangle extends Rectangle2D implements Shape, Serializable
E que o operador booleano <objeto> instanceof <tipo composto> retorna true se objeto é uma instancia do tipo composto, e false caso contrario;
Qual a saída da execução de cada Sustem.out.println abaixo (Justifique)? -- Questão da P1 de LP2 - 2017.2
Rectangle retg = new Rectangle (5, 10, 20, 30);
Rectangle clone = new Rectangle (5, 10, 20, 30);
Rectangle xptl = retg;
System.out.println(“retg é um Quadrilátero ?” + (retg instanceof Quadrilateral) );
System.out.println(“retg é um Retangulo 2D ?” + (retg instanceof Retangulo 2D) );
System.out.println(“retg é um Shape ?” + (retg instanceof Shape) );
System.out.println(“retg é um Object ?” + (retg instanceof Object) );
System.out.println(retq ==clone);
System.out.println(retq == xpto); 
1) Crie uma classe de exceção confirmada chamada NoChevetEx. -- Questão da P2 de LP2 - 2017.2
2) A classe CheveteSL especializa a classe Chevete por herança. Elas foram declaradas no pacote br.uerj.pc2 . Sabendo disso, crie um método displayClass que : -- Questão da P2 de LP2 - 2017.2
- receba um array de elementos da classe Object
- exiba a informação de quantos objetos da classe Chevete, ChevetSL e “de outras classes” estão armazenados no array
-Jogue a exceção NoCheveteEx caso nenhum Chevete ou ChevetSL estejam no array
3) Crie um programa de teste que: -- Questão da P2 de LP2 - 2017.2
crie dois objetos da classe Chevete
crie um objeto da classe CheveteSL
crie um array e armazene os objetos anteriores neste array
chame o método displayClass passando o array como parâmetro
4) Desenvolva uma classe CircAltCor, usando herança de classe da classe Circulo e implementando a interface Cor. Se for preciso, complete a classe Circulo. A classe CircAltCor deve admitir a alteração em suas dimensões e a troca de cores de seu contorno (obviamente não é necessário imprimir o desenho do circulo colorido, ou realizar cálculos – isso é uma representação simulada). Não precisa fazer uma classe de teste. -- Questão da PF de LP2 - 2017.2
interface Cor // declaração da interface
{
	void setCor (int cor);
	int getCor ();
}
class Circulo // declaração da classe
{
	private Ponto2D centro; // Declaração dos campos da classe
	private double raio;
	
	Circulo (Ponto2D centro, double raio)
	{
	 this.centro = centro; // note o uso da palavra-chave this para marcar os campos
	 this.raio = raio; // da classe que tem o mesmo nome dos argumentos
	}
	
	public Ponto2D getcentro () { return centro; }
	public double calculaPerimetro() { return 2.0*Math.PI*raio; }
	
	public String toString () {
		return “Circulo com centro em “”+centro+” e raio ”+raio;”
	}	
}	//fim da classe Circulo
1. Crie um pacote br.ime.lp2, contendo uma classe (o nome você escolhe) contendo 1 método de classe (static) com duas assinaturas diferentes (“sobrecarga” de método):
int[ ] invertArray (int[ ] a); // “recebe um” array de int
public static int[] invertArray( int lista[]){
	int temp;
	int tam = lista.length-1;
	for (int=0;i<=(tam/2);i++){
			temp = lista[i];
			lista[i]=lista[tam-i];
			lista[tam-i]=temp;
	}
	
	return lista;
}
int[ ] invertArray (Vector b); // “recebe um” Vector
O método invertArray recebe um array (ou um Vector) e retorna um array invertendo a ordem dos elementos. Ou seja, o primeiro elemento do array de entrada será o ultimo elemento do array de retorno, e o ultimo será o primeiro.
2. Desenvolva um programa que crie uma instancia da classe Vector. Atribua a esta estrutura (à instância de Vector) 5 elementos do tipo inteiro quaisquer (não vamos restringir a forma de fazer esta atribuição – faça como você quiser, desde que coerente). Use a classe desenvolvida na Questão 1 para inverter o Vector. Em seguida imprima o array invertido.
3. Construa uma classe PInteger que especialize a classe Integer, adicionando um método chamado salva. Este método recebe como parâmetro um objeto String – o nome do arquivo – e salva. Para facilitar: (a) não é necessário pensar no construtor de PInteger; (b) não é necessário desenvolver um programa de exemplo – apenas a classe PInteger.

Continue navegando