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

Construyendo una nueva aplicación.

Hola, les comparto una propuesta de un juego de Matemáticas:

import java.util.Random; import java.util.Scanner;

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

    int puntaje = 0;
    int errores = 0;
    final int MAX_ERRORES = 3;

    System.out.println("¡Bienvenido al Reto de Cálculo Mental!");
    System.out.println("Resuelve tantos problemas como puedas. ¡Tienes un máximo de " + MAX_ERRORES + " errores!");

    while (errores < MAX_ERRORES) {
        // Generar dos números aleatorios y una operación
        int numero1 = random.nextInt(10) + 1; // Números entre 1 y 10
        int numero2 = random.nextInt(10) + 1;
        char operacion = generarOperacionAleatoria();

        int resultadoCorrecto = calcularResultado(numero1, numero2, operacion);

        // Mostrar la pregunta
        System.out.print("¿Cuánto es " + numero1 + " " + operacion + " " + numero2 + "? Respuesta: ");
        int respuestaUsuario = scanner.nextInt();

        // Verificar respuesta
        if (respuestaUsuario == resultadoCorrecto) {
            System.out.println("¡Correcto!");
            puntaje += 10;
        } else {
            System.out.println("Incorrecto. La respuesta correcta era: " + resultadoCorrecto);
            errores++;
        }

        System.out.println("Puntaje actual: " + puntaje);
        System.out.println("Errores: " + errores + "/" + MAX_ERRORES);
        System.out.println("----------------------------");
    }

    System.out.println("¡Juego terminado! Tu puntaje final es: " + puntaje);
    scanner.close();
}

// Genera una operación aleatoria (+, -, *)
private static char generarOperacionAleatoria() {
    char[] operaciones = {'+', '-', '*'};
    Random random = new Random();
    return operaciones[random.nextInt(operaciones.length)];
}

// Calcula el resultado de una operación
private static int calcularResultado(int numero1, int numero2, char operacion) {
    switch (operacion) {
        case '+':
            return numero1 + numero2;
        case '-':
            return numero1 - numero2;
        case '*':
            return numero1 * numero2;
        default:
            throw new IllegalArgumentException("Operación desconocida: " + operacion);
    }
}

}

1 respuesta

¡Hola Miguel! ¿Cómo estás?

Gracias por tu aporte en el foro. Su contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!