-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCriaFigura.java
82 lines (58 loc) · 2.58 KB
/
CriaFigura.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
Autor....: Paulo Roberto Correia Junior
Matricula: T50262-4
Data.....: 10/11/2015
Problema.: 1) Implemente, em Java, uma classe abstrata de nome Figura onde são declarados dois
métodos abstratos: float calcularArea(); float calcularPerimetro();
2) Crie, como subclasse de Figura, uma classe de nome Retângulo cujas instâncias são
caracterizadas pelos atributos lado e altura ambos do tipo float. Implemente na classe
Retângulo os métodos herdados de Figura e outros que ache necessários.
3) Crie, como subclasse de Figura, uma classe de nome Circulo cujas instâncias são
caracterizadas pelo atributo raio do tipo float. Implemente na classe Circulo os métodos
herdados de Figura e outros que ache necessários.
Nota: poderá obter o valor de Pi fazendo Math.PI.
4) Crie, como subclasse de Retangulo, uma classe de nome Quadrado cujas instâncias são
caracterizadas por terem os atributos lado e altura com o mesmo valor.
5) Elabore um programa de teste onde é declarado um ArrayList, do tipo Figura. Nesse
ArrayList devem ser guardadas instâncias de Retângulo, Circulo e Quadrado. Depois
implemente um ciclo que percorra o ArrayList evocando, relativamente a cada um dos objetos
guardados, os métodos calcularArea e calcularPerimetro.
*/
import java.util.ArrayList;
public class CriaFigura {
public static void main(String[] args) {
// TODO Auto-generated method stub
int qtd = 0;
int tipo = 0;
float base = 0;
float altura = 0;
float raio = 0;
float lado = 0;
ArrayList<Figura> figuras = new ArrayList<Figura>();
qtd = Leitura.lerInt("Informe a quantidade de figuras desejada: ");
for ( int i = 0; i < qtd; i++) {
tipo = Leitura.lerInt("(1)Retângulo (2)Quadrado (3)Círculo\nInforme o número da figura: ");
if (tipo == 1){
base = Leitura.lerFloat ("Informe a base do retângulo: ");
altura = Leitura.lerFloat ("Informe a altura do retângulo: ");
Retangulo retangulo = new Retangulo(base,altura);
figuras.add(retangulo);
}else if (tipo == 2){
lado = Leitura.lerFloat ("Informe o lado do quadrado: ");
Quadrado quadrado = new Quadrado(lado);
figuras.add(quadrado);
}else if (tipo == 3){
raio = Leitura.lerFloat ("Informe o raio do círculo: ");
Circulo circulo = new Circulo(raio);
figuras.add(circulo);
}else{
System.out.println ("Valor inválido!\n");
qtd--;
}
}
// Lista toda as figuras
for (Figura figura : figuras){
System.out.println(figura.toString());
}
}
}