java

Java: cuestionario de preguntas y respuestas con incisos por consola

Introducción

Ayer mi ayuda fue solicitada para resolver un ejercicio de Java que más o menos decía así:

Realizar un programa en Java en donde se pueda simular un examen de múltiples respuestas, en donde el usuario elija la respuesta y se indique si ésta fue correcta o no.

Todo se tiene que hacer por consola, incluyendo la entrada de datos.

Solución al ejercicio

Así que me puse a pensar y al final, según yo, la mejor solución (aunque no me gustó tanto) era crear dos clases. Una de preguntas y otra de respuestas.

Luego, a cada pregunta asignarle un array de respuestas. Para saber si la respuesta era o no correcta, al objeto Respuesta se le pasaba un booleano que indicaba si ésa era la correcta. Pero bueno, bien dicen por ahí que hablar es de mal gusto, así que aquí dejo el código:

See the gist on github.

Ya sé, ya sé que cuál lleva un acento. Y que las preguntas inician con ¿, pero en mi consola no se ven bien, así que las omití.

Como se puede ver, es un código más o menos expresivo y agradable a la vista del ser humano. Podemos crear un arreglo de preguntas, y por cada una agregar un arreglo de respuestas. Por otro lado, no estamos limitados a las opciones que ponemos.

Es decir, en algunos casos podemos poner sólo los incisos a y b, en otros hasta el c, en otros incluso hasta el z; todo es como queramos.

Finalmente quiero que se note al método preguntar, que como su nombre lo dice, pregunta, lista las opciones e indica si la respuesta fue acertada.

Compilando y ejecutando

Para que se vea que esto realmente funciona hice otro cuestionario a mi gusto y con mis respuestas (es decir, puede que la información no sea verídica).

Proceso de compilación…

Proceso de ejecución

Nota: el GIF va muy rápido, pero los datos realmente son leídos por teclado; es decir, el usuario escribe la letra.

Código

Aquí dejo el código por si quieres probarlo por ti mismo:

See the gist on github.

Conclusión

Esta es la solución que propongo; seguramente hay más y mejores. Analizando las mejoras que se pueden hacer se me ocurre poner un contador de aciertos y errores.

También se podría calcular el tiempo que se llevó al tomar el examen. Todo queda a nuestra imaginación.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Una persona desea invertir $3000.00 en un banco, el cual le otorga un 3% de interés mensual. Cuál será la cantidad de dinero que esta persona tendrá al cabo de un año y medio si todo el dinero lo reinvierte?.
    en esctrutura while como seria

  • Hola, esta muy bueno el codigo! ¿conoces alguna forma para hacer que estas preguntas sean aleatorias?

    ¡Saludos!

    • Hola, claro que sí. Simplemente necesitaríamos agitar o sacudir el arreglo; es decir, poner los elementos en otro lugar dentro del arreglo. De esta forma siempre saldrían en distinto orden.
      Espero poder programar el ejemplo muy pronto. Saludos :-)

Compartir
Publicado por
parzibyte

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

5 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

5 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

6 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.