Ayuda con una parte de mi problema
Publicado por Pool (12 intervenciones) el 27/10/2019 15:34:58
Hola, tengo el siguiente problema y ya resolví la mayoría pero no se como hacer el arreglo del vector del polígono, llevo un tiempo intentándolo pero no he podido resolverlo, quería ayuda para ver como seria poner ese arreglo de polígonos, gracias.
----------------------------------------------------------------------------------------------------------------------------------------------------
Se desean modelar distintos polígonos, que incluyen: circulo, cuadrado y triángulo. Cada polígono ocupa una cierta área de un espacio de dibujo. Los polígonos deben calcular su área y su perímetro. Todos deben poder ser dibujados y borrados (para el ejercicio basta con mostrar un mensaje del tipo ¨circulo dibujado¨, ¨circulo borrado¨) Cada polígono debe contar con los atributos que les permitan obtener su área.
El triángulo: debe responder a:
Si se forma un triángulo, y
su tipo: equilátero, isósceles ó escaleno.
En una clase de prueba debe construir un vector de 9 polígonos, generados aleatoriamente e inicializados con valores aleatorios (en un rango 1..9). Una vez generados e inicializados, recorrer el arreglo para ¨dibujarlos¨ e imprimir su área.
----------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------
Se desean modelar distintos polígonos, que incluyen: circulo, cuadrado y triángulo. Cada polígono ocupa una cierta área de un espacio de dibujo. Los polígonos deben calcular su área y su perímetro. Todos deben poder ser dibujados y borrados (para el ejercicio basta con mostrar un mensaje del tipo ¨circulo dibujado¨, ¨circulo borrado¨) Cada polígono debe contar con los atributos que les permitan obtener su área.
El triángulo: debe responder a:
Si se forma un triángulo, y
su tipo: equilátero, isósceles ó escaleno.
En una clase de prueba debe construir un vector de 9 polígonos, generados aleatoriamente e inicializados con valores aleatorios (en un rango 1..9). Una vez generados e inicializados, recorrer el arreglo para ¨dibujarlos¨ e imprimir su área.
----------------------------------------------------------------------------------------------------------------------------------------------
1
2
3
4
5
6
7
8
9
10
package Interface;
public interface Poligonos {
public void dibujarPoligono();
public double calcularArea();
public double calcularPerimetro();
public void borrarPoligono();
}
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
package Model;
import Interface.Poligonos;
import static java.lang.Math.pow;
public class Circulo implements Poligonos{
private double radio;
private double area;
private double perimetro;
public Circulo(double radio) {
this.radio = radio;
}
@Override
public String toString() {
return "Circulo{" + "radio=" + radio + ", area=" + area + ", perimetro=" + perimetro + '}';
}
@Override
public void dibujarPoligono() {
System.out.println("Se ha dibujado el circulo.");
}
@Override
public double calcularArea() {
area = Math.PI * pow(radio, radio);
return area;
}
@Override
public double calcularPerimetro() {
perimetro = (2*Math.PI) * radio;
return perimetro;
}
@Override
public void borrarPoligono() {
System.out.println("Se ha borrado el circulo.");
}
public double getArea() {
return area;
}
public double getPerimetro() {
return perimetro;
}
}
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
package Model;
import Interface.Poligonos;
public class Cuadrado implements Poligonos{
private double lados;
private double area;
private double perimetro;
public Cuadrado(double lados) {
this.lados = lados;
}
@Override
public String toString() {
return "Cuadrado{" + "lados=" + lados + ", area=" + area + ", perimetro=" + perimetro + '}';
}
@Override
public void dibujarPoligono() {
System.out.println("Se ha dibujado el cuadrado.");
}
@Override
public double calcularArea() {
area = lados * lados;
return area;
}
@Override
public double calcularPerimetro() {
perimetro = lados * 4;
return perimetro;
}
@Override
public void borrarPoligono() {
System.out.println("Se ha borrado el cuadrado.");
}
public double getArea() {
return area;
}
public double getPerimetro() {
return perimetro;
}
}
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
package Model;
import Interface.Poligonos;
import static java.lang.Math.sqrt;
public class Triangulo implements Poligonos{
private double lado1;
private double lado2;
private double lado3;
private double area;
private boolean band;
private double perimetro;
public Triangulo(double lado1, double lado2, double lado3) {
this.lado1 = lado1;
this.lado2 = lado2;
this.lado3 = lado3;
}
public boolean trianguloFormado(double lado1, double lado2, double lado3){
if((lado1+lado2>lado3) && (lado1+lado3>lado2) && (lado2+lado3>lado1)){
band = true;
}else{
band = false;
}
return band;
}
public void tipoDeTriangulo(double lado1, double lado2, double lado3){
if(band = true){
if((lado1 == lado2) && (lado2 == lado3)){
System.out.println("Su triangulo es equilatero.");
}else if((lado1 != lado2) && (lado2 != lado3) && (lado3 != lado1)){
System.out.println("Su triangulo es escaleno.");
}else{
System.out.println("Su triangulo es isosceles");
}
}
}
@Override
public void dibujarPoligono() {
System.out.println("Se ha dibujado el triangulo.");
}
@Override
public double calcularArea() {
area = (sqrt(3) * lado1) / 4;
return area;
}
@Override
public double calcularPerimetro() {
perimetro = lado1 + lado2 + lado3;
return perimetro;
}
@Override
public void borrarPoligono() {
System.out.println("Se ha borrado el triangulo.");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package Model;
import Interface.Poligonos;
import java.util.ArrayList;
public class GestorPoligonos {
Circulo circulo;
Cuadrado cuadrado;
Triangulo triandulo;
ArrayList <Poligonos> poligonos;
public GestorPoligonos(Circulo circulo, Cuadrado cuadrado, Triangulo triandulo, ArrayList<Poligonos> poligonos) {
this.circulo = circulo;
this.cuadrado = cuadrado;
this.triandulo = triandulo;
this.poligonos = poligonos;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package Main;
import Interface.Poligonos;
import Model.Circulo;
import Model.GestorPoligonos;
import java.util.ArrayList;
public class PruebaPoligonos {
public static void main(String[] args){
double radio = (double)(Math.random()*20+1);
double lados = (double)(Math.random()*20+1);
double lado1 = (double)(Math.random()*20+1);
double lado2 = (double)(Math.random()*20+1);
double lado3 = (double)(Math.random()*20+1);
ArrayList<Poligonos> poligonos = new ArrayList<>(9);
}
}
Valora esta pregunta


0