From 81eac7a894b5838c7486e6b6f95d8d686f48c823 Mon Sep 17 00:00:00 2001 From: PC de clase Date: Mon, 9 Nov 2026 10:15:07 +0100 Subject: [PATCH] RepasoMetodos sin arrays --- src/RepasoMetodos.java | 51 ++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/src/RepasoMetodos.java b/src/RepasoMetodos.java index 22d3f9a..7f20a84 100644 --- a/src/RepasoMetodos.java +++ b/src/RepasoMetodos.java @@ -9,26 +9,25 @@ public class RepasoMetodos { int opt = mostrarMenu(); int figura = seleccionarFigura(); double resultado = -1.0; - int[] lados; switch (figura) { case 1: // Cuadrado System.out.print("Longitud del lado: "); int lado = leerEnteroPositivo(); - lados = new int[4]; - for (int i = 0; i < 4; i++) { - lados[i] = lado; - } resultado = - opt == 1 ? areaCuadrado(lado) : perimetroPoligono(lados); + opt == 1 ? areaCuadrado(lado) : perimetroCuadrado(lado); break; case 2: // Triangulo - lados = new int[3]; - for (int i = 0; i < 3; i++) { - System.out.printf("Longitud del lado %d: ", i + 1); - lados[i] = leerEnteroPositivo(); - } + int l1, l2, l3; + System.out.printf("Longitud del lado 1: "); + l1 = leerEnteroPositivo(); + System.out.printf("Longitud del lado 2: "); + l2 = leerEnteroPositivo(); + System.out.printf("Longitud del lado 3: "); + l3 = leerEnteroPositivo(); resultado = - opt == 1 ? areaTriangulo(lados) : perimetroPoligono(lados); + opt == 1 + ? areaTriangulo(l1, l2, l3) + : perimetroTriangulo(l1, l2, l3); break; case 3: // Circulo System.out.print("Radio del círculo: "); @@ -52,11 +51,14 @@ public class RepasoMetodos { return 2 * Math.PI * radio; } - // Perímetro de cualquier polígono - private static double perimetroPoligono(int[] lados) { - double resultado = 0.0; - for (int l : lados) resultado += l; - return resultado; + // Perímetro de triangulo + private static double perimetroTriangulo(double l1, double l2, double l3) { + return l1 + l2 + l3; + } + + // Perímetro de cuadrado + private static double perimetroCuadrado(double lado) { + return lado * 4; } // Area cuadrado @@ -65,18 +67,13 @@ public class RepasoMetodos { } // Area del triangulo (formula de Herón) - private static double areaTriangulo(int[] lados) { - if (lados.length != 3) { - System.out.println("El triangulo tiene que tener 3 lados"); - return -1.0; - } - - double semiperimetro = perimetroPoligono(lados) / 2.0; + private static double areaTriangulo(double l1, double l2, double l3) { + double semiperimetro = perimetroTriangulo(l1, l2, l3) / 2.0; double resultado = semiperimetro; - for (int i = 0; i < 3; i++) { - resultado *= semiperimetro - lados[i]; - } + resultado *= semiperimetro - l1; + resultado *= semiperimetro - l2; + resultado *= semiperimetro - l3; resultado = Math.sqrt(resultado);