----POLIGONO
package operadores;
public abstract class Poligono {
protected int numeroLados;
public Poligono(int numeroLados) {
this.numeroLados = numeroLados;
}
public int getNumeroLados() {
return numeroLados;
}
public String toString() {
return "Poligono" + "lados=" + numeroLados;
}
public abstract double area();
}
package operadores;
public class Rectangulo extends Poligono {
private double lado1;
private double lado2;
public Rectangulo(double lado1, double lado2) {
super(2); // numero de lados seran 2
this.lado1 = lado1;
this.lado2 = lado2;
}
public double getLado1() {
return lado1;
}
public double getLado2() {
return lado2;
}
public String toString() {
return "Rectangulo:" + super.toString() + lado1 + lado2;
}
public double area() {
return lado1 * lado2;
}
}
package operadores;
public class Triangulo extends Poligono {
private double lado1;
private double lado2;
private double lado3;
public Triangulo(double lado1, double lado2, double lado3) {
super(3); // numero de lados seran 2
this.lado1 = lado1;
this.lado2 = lado2;
this.lado3 = lado3;
}
public double getLado1() {
return lado1;
}
public double getLado2() {
return lado2;
}
public double getLado3() {
return lado3;
}
public String toString() {
return "Triangulo:" + super.toString() + lado1 + lado2 + lado3;
}
public double area() {
double p = (lado1 + lado2 + lado3) / 2;
return Math.sqrt((p * (p - lado1) * (p - lado2) * (p - lado3)));
}
}
package operadores;
import java.util.ArrayList;
import java.util.Scanner;
public class Principal {
static ArrayList<Poligono> poligono = new ArrayList<Poligono>();
static Scanner entrada = new Scanner(System.in);
public static void main(String[] args) {
llenarPoligono();
mostrarResultados();
}
public static void llenarPoligono() {
char respuesta;
int opcion;
do {
do {
System.out.println("Poligono: ");
System.out.println("1. Triangulo: ");
System.out.println("2. Rectangulo: ");
System.out.println("Opción: ");
opcion = entrada.nextInt();
} while (opcion < 1 || opcion > 2);
switch (opcion) {
case 1 :
llenarTriangulo();
break;
case 2 :
llenarRectangulo();
break;
}
System.out.print("Otro mas??? (s/n)");
respuesta = entrada.next().charAt(0);
} while (respuesta == 's' || respuesta == 'S');
}
public static void llenarTriangulo() {
double lado1, lado2, lado3;
System.out.print("Lado 1: ");
lado1 = entrada.nextDouble();
System.out.print("Lado 2: ");
lado2 = entrada.nextDouble();
System.out.print("Lado 3: ");
lado3 = entrada.nextDouble();
Triangulo triangulo = new Triangulo(lado1, lado2, lado3);
poligono.add(triangulo);
}
public static void llenarRectangulo() {
double lado1, lado2;
System.out.print("Lado 1: ");
lado1 = entrada.nextDouble();
System.out.print("Lado 2: ");
lado2 = entrada.nextDouble();
Rectangulo rectangulo = new Rectangulo(lado1, lado2);
poligono.add(rectangulo);
}
public static void mostrarResultados() {
for (Poligono poli : poligono) {
System.out.println(poli.toString());
System.out.println("Area= " + poli.area());
System.out.println("");
}
}
}

No hay comentarios:
Publicar un comentario