RepasoMetodos sin arrays

This commit is contained in:
PC de clase committed 2026-11-09 10:16:41 +01:00
1 parent e190552230
commit 81eac7a894
1 file changed
+24 -27
+24 -27
View File
@@ -9,26 +9,25 @@ public class RepasoMetodos {
int opt = mostrarMenu(); int opt = mostrarMenu();
int figura = seleccionarFigura(); int figura = seleccionarFigura();
double resultado = -1.0; double resultado = -1.0;
int[] lados;
switch (figura) { switch (figura) {
case 1: // Cuadrado case 1: // Cuadrado
System.out.print("Longitud del lado: "); System.out.print("Longitud del lado: ");
int lado = leerEnteroPositivo(); int lado = leerEnteroPositivo();
lados = new int[4];
for (int i = 0; i < 4; i++) {
lados[i] = lado;
}
resultado = resultado =
opt == 1 ? areaCuadrado(lado) : perimetroPoligono(lados); opt == 1 ? areaCuadrado(lado) : perimetroCuadrado(lado);
break; break;
case 2: // Triangulo case 2: // Triangulo
lados = new int[3]; int l1, l2, l3;
for (int i = 0; i < 3; i++) { System.out.printf("Longitud del lado 1: ");
System.out.printf("Longitud del lado %d: ", i + 1); l1 = leerEnteroPositivo();
lados[i] = leerEnteroPositivo(); System.out.printf("Longitud del lado 2: ");
} l2 = leerEnteroPositivo();
System.out.printf("Longitud del lado 3: ");
l3 = leerEnteroPositivo();
resultado = resultado =
opt == 1 ? areaTriangulo(lados) : perimetroPoligono(lados); opt == 1
? areaTriangulo(l1, l2, l3)
: perimetroTriangulo(l1, l2, l3);
break; break;
case 3: // Circulo case 3: // Circulo
System.out.print("Radio del círculo: "); System.out.print("Radio del círculo: ");
@@ -52,11 +51,14 @@ public class RepasoMetodos {
return 2 * Math.PI * radio; return 2 * Math.PI * radio;
} }
// Perímetro de cualquier polígono // Perímetro de triangulo
private static double perimetroPoligono(int[] lados) { private static double perimetroTriangulo(double l1, double l2, double l3) {
double resultado = 0.0; return l1 + l2 + l3;
for (int l : lados) resultado += l; }
return resultado;
// Perímetro de cuadrado
private static double perimetroCuadrado(double lado) {
return lado * 4;
} }
// Area cuadrado // Area cuadrado
@@ -65,18 +67,13 @@ public class RepasoMetodos {
} }
// Area del triangulo (formula de Herón) // Area del triangulo (formula de Herón)
private static double areaTriangulo(int[] lados) { private static double areaTriangulo(double l1, double l2, double l3) {
if (lados.length != 3) { double semiperimetro = perimetroTriangulo(l1, l2, l3) / 2.0;
System.out.println("El triangulo tiene que tener 3 lados");
return -1.0;
}
double semiperimetro = perimetroPoligono(lados) / 2.0;
double resultado = semiperimetro; double resultado = semiperimetro;
for (int i = 0; i < 3; i++) { resultado *= semiperimetro - l1;
resultado *= semiperimetro - lados[i]; resultado *= semiperimetro - l2;
} resultado *= semiperimetro - l3;
resultado = Math.sqrt(resultado); resultado = Math.sqrt(resultado);