Cómo crear un cuestionario con preguntas aleatorias usando Java (En 9 Pasos)
Uno de los beneficios de aprender a programar en un lenguaje multiplataforma como Java es que, si necesitas una herramienta especializada, por ejemplo un programa para crear un cuestionario que seleccione aleatoriamente sus componentes a partir de un banco de preguntas, puedes programarla tú mismo. También es un proyecto útil si eres principiante en Java, ya que te proporciona una introducción a la utilidad "random" del lenguaje y te permite practicar con estructuras de control como los ciclos.
Paso 1
Importa las bibliotecas necesarias usando esta sintaxis en la parte superior de tu código fuente:
import java.util.random; import java.io.*;
Paso 2
Declara un nuevo generador de números aleatorios en tu clase "public static void main" con la sintaxis "Random randomizer = new Random();", en donde "randomizer" es el nombre que quieras darle a tu objeto de aleatorización. A continuación declara un objeto de consola con la sintaxis "Console input = new Console();", en donde "input" es el nombre que quieras darle al objeto de consola.
Paso 3
Declara las siguientes variables:
int choice; String selection;
En donde "choice" es el nombre que quieras asignarle a la variable que almacenará la selección de la pregunta aleatoria, y "selection" es el nombre que quieras darle a la variable que almacenará la selección de la respuesta del usuario.
Paso 4
Declara un arreglo de cadenas con la sintaxis "QuestionList = new String[n][2];", en donde "n" es el número de preguntas que incluirá tu cuestionario y "QuestionList" es el nombre que usarás para tu arreglo.
Paso 5
Usa la siguiente sintaxis para cada pregunta que quieras que tu programa elija:
QuestionList[n][0] = "Mi pregunta \nA: Respuesta Uno\nB: Respuesta Dos\nC: Respuesta Tres"; QuestionList[n][1] = "Respuesta correcta";
En donde "n" es el número de tu pregunta (comenzando en cero), "Mi pregunta" es la pregunta, A - C son las posibles opciones de respuestas y "Respuesta correcta" es la letra que corresponda a la respuesta correcta. La "\n" ocasionará que la consola comience a mostrar el texto en una línea nueva, por lo que la sintaxis anterior mostrará lo siguiente:
Mi pregunta A: Respuesta Uno B: Respuesta Dos C: Respuesta Tres
Paso 6
Crea un ciclo con la sintaxis:
int round = 0; while (round < questions){
(El resto del programa aparecerá aquí)
round = round + 1; }
En donde "round" es el nombre que quieras darle a una variable que haga el seguimiento del número de preguntas que el programa ha mostrado, y "questions" es el número de preguntas que quieras que tu programa de cuestionarios muestre antes de terminar. El resto del código deberá colocarse entre "while (round < questions)(" y "round = round + 1;".
Paso 7
Genera una pregunta aleatoria con la sintaxis "choice = randomizer.nextInt(n);", en donde "n" es el número total de preguntas que añadiste a tu grupo (comenzando con el uno, no con el cero).
Paso 8
Muestra tu selección con la sintaxis "System.out.println(QuestionList[choice][0];" y luego escribe "selection = input.readLine();" en la siguiente línea. Esto mostrará a la pregunta y permitirá que el usuario escriba una respuesta.
Paso 9
Usa la siguiente sintaxis para verificar la respuesta:
if (selection.equals(QuestionList[choice][1]){ System.out.println("¡Correcto!"); }
else{ System.out.println("Incorrecto, la respuesta era " + QuestionList[choice][1]); }