Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Verificación de Triángulo (MI soluciòb)

import java.util.Scanner;

public class VerificadorTriangulo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

    // Obtener y validar los tres lados
    double lado1 = leerLadoValido(scanner, "Ingrese el primer lado: ");
    double lado2 = leerLadoValido(scanner, "Ingrese el segundo lado: ");
    double lado3 = leerLadoValido(scanner, "Ingrese el tercer lado: ");

    // Verificar si los lados pueden formar un triángulo
    if ((lado1 + lado2 > lado3) &&
            (lado1 + lado3 > lado2) &&
            (lado2 + lado3 > lado1)) {
        System.out.println("Los lados pueden formar un triángulo.");
    } else {
        System.out.println("Los lados no pueden formar un triángulo.");
    }

    scanner.close();
}

// Método para leer y validar que se ingrese un número válido (positivo, sin letras ni símbolos)
public static double leerLadoValido(Scanner scanner, String mensaje) {
    String entrada;
    double valor;

    while (true) {
        System.out.print(mensaje);
        entrada = scanner.nextLine().trim();

        // Validar con expresión regular: número entero o decimal positivo
        if (entrada.matches("^\\d+(\\.\\d+)?$")) {
            valor = Double.parseDouble(entrada);
            if (valor > 0) {
                return valor;
            } else {
                System.out.println("El lado debe ser mayor que cero.");
            }
        } else {
            System.out.println("Entrada inválida. Ingrese solo números positivos (sin letras ni símbolos).");
        }
    }
}

}

1 respuesta

Hola Gina, espero que estés bien

Tu solución para verificar si tres lados pueden formar un triángulo parece estar bien estructurada y cumple con las condiciones necesarias para determinar si los lados ingresados pueden formar un triángulo. Has implementado correctamente la regla de que la suma de dos lados debe ser mayor que el tercer lado para cada par de lados.

Además, el método leerLadoValido que has creado para validar la entrada del usuario es una excelente manera de asegurarte de que los valores ingresados sean números positivos, evitando entradas inválidas como letras o símbolos.

Aquí tienes un pequeño consejo para mejorar tu código: asegúrate de que el mensaje de error en el método leerLadoValido sea claro para el usuario, lo cual ya estás haciendo bien. También, si deseas, podrías considerar añadir comentarios adicionales en tu código para que sea más fácil de entender para otras personas que puedan leerlo en el futuro.

En resumen, tu solución parece estar bien implementada y debería funcionar correctamente para verificar si los lados pueden formar un triángulo. ¡Buen trabajo!

Espero haber ayudado y buenos estudios!