- Una Super clase llamada Poligono.
- Una sub clase llamada Rectangulo.
- Una sub clase llmada Triangulo.
--------------------------------------------------------------------------------------------------------------------------
PROGRAMA MAIN
package calculo;
import java.util.ArrayList;
import java.util.Scanner;
public class Calculo {
static ArrayList
static Scanner entrada = new Scanner(System.in);
public static void main(String[] args) {
llenarPoligono();
Recorrer();
}
public static void llenarPoligono(){
char respuesta;
int opcion;
do{
do{
System.out.println("Digite que poligono desea: Triangulo o Rectangulo."
+ "1 para triangulo "
+ "2 para rectangulo ");
System.out.println("Opcion: ");
opcion = entrada.nextInt();
}while(opcion<1 opcion="">2);1>
switch (opcion) {
case 1: llenarTriangulo();
break;
case 2: llenarRectangulo();
break;
}
System.out.println("Desea ingresar otro poligono (s/n)");
respuesta = entrada.next().charAt(0);
}while(respuesta=='s' || respuesta=='S');
}
public static void llenarTriangulo(){
double lado1 = 0,lado2 = 0,lado3 = 0;
for (int i=1; i<=3; i++){
System.out.println("Ingrese lado "+ i+" del triangulo");
switch (i) {
case 1: lado1 = entrada.nextDouble();
break;
case 2: lado2 = entrada.nextDouble();
break;
case 3: lado3 = entrada.nextDouble();
break;
}
}
Triangulo triangulo = new Triangulo(lado1,lado2,lado3);
poligono.add(triangulo);
}
public static void llenarRectangulo(){
double lado1 = 0,lado2 = 0;
for (int i=1; i<=2; i++){
System.out.println("Ingrese lado "+ i+" del rectangulo");
switch (i) {
case 1: lado1 = entrada.nextDouble();
break;
case 2: lado2 = entrada.nextDouble();
break;
}
}
Rectangulo rectangulo = new Rectangulo(lado1,lado2);
poligono.add(rectangulo);
}
public static void Recorrer(){
poligono.stream().map((poli) -> {
System.out.println(poli.toString());
return poli;
}).forEachOrdered((poli) -> {
System.out.println("Area= "+poli.Area());
});
}
}
=======================================================================
SUPER CLASE
package calculo;
public abstract class Poligono {
//atributos
protected int NumeroLados;
// Constructor
public Poligono(int NumeroLados) {
this.NumeroLados = NumeroLados;
}
public int getNumeroLados() {
return NumeroLados;
}
// Metodos
@Override
public String toString() {
return "Poligono{" + "NumeroLados=" + NumeroLados + '}';
}
public abstract double Area();
}
========================================================================
SUB CLASE TRIANGULO
package calculo;
public class Triangulo extends Poligono{
private final double lado1;
private final double lado2;
private final double lado3;
// Constructor
public Triangulo(double lado1, double lado2, double lado3) {
super(3);
this.lado1 = lado1;
this.lado2 = lado2;
this.lado3 = lado3;
}
public double getLado1() {
return lado1;
}
public double getLado2() {
return lado2;
}
public double getLado3() {
return lado3;
}
@Override
public String toString() {
return "Triangulo{" + "lado1=" + lado1 + ", lado2=" + lado2 + ", lado3=" + lado3 + '}';
}
@Override
public double Area() {
double p= (lado1+lado2+lado3)/2;
return Math.sqrt(p*(p-lado1)*(p-lado2)*(p-lado3));
}
}
========================================================================
SUB CLASE RECTANGULO
package calculo;
public class Rectangulo extends Poligono{
private double lado1;
private double lado2;
//Constructor
public Rectangulo(double lado1, double lado2) {
super(4);
this.lado1 = lado1;
this.lado2 = lado2;
}
public double getLado1() {
return lado1;
}
public double getLado2() {
return lado2;
}
@Override
public String toString() {
return "Rectangulo{" + "lado1=" + lado1 + ", lado2=" + lado2 + '}';
}
@Override
public double Area() {
return lado1*lado2;
}
}
========================================================================
Salida por pantalla:
run:
Digite que poligono desea: Triangulo o Rectangulo.1 para triangulo 2 para rectangulo
Opcion:
1
Ingrese lado 1 del triangulo
2
Ingrese lado 2 del triangulo
3
Ingrese lado 3 del triangulo
4
Desea ingresar otro poligono (s/n)
s
Digite que poligono desea: Triangulo o Rectangulo.1 para triangulo 2 para rectangulo
Opcion:
2
Ingrese lado 1 del rectangulo
3
Ingrese lado 2 del rectangulo
5
Desea ingresar otro poligono (s/n)
n
Triangulo{lado1=2.0, lado2=3.0, lado3=4.0}
Area= 2.9047375096555625
Rectangulo{lado1=3.0, lado2=5.0}
Area= 15.0
BUILD SUCCESSFUL (total time: 21 seconds)
No hay comentarios:
Publicar un comentario