RepasoMetodos sin arrays
This commit is contained in:
1 parent
e190552230
commit
81eac7a894
1 file changed
+24
-27
+24
-27
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user