Foros del Web » Programación para mayores de 30 ;) » Java »

como presentar preguntas aleatoria?

Estas en el tema de como presentar preguntas aleatoria? en el foro de Java en Foros del Web. Hola que tal,,, como estan? me podrian ayudar para presentar unas preguntas aleatorias, por favor.. lo que pasa es que al hacer una consulta a ...
  #1 (permalink)  
Antiguo 01/11/2004, 18:02
 
Fecha de Ingreso: septiembre-2004
Mensajes: 17
Antigüedad: 19 años, 7 meses
Puntos: 0
como presentar preguntas aleatoria?

Hola que tal,,, como estan?

me podrian ayudar para presentar unas preguntas aleatorias, por favor..

lo que pasa es que al hacer una consulta a una BD obtengo el ResulSet y lo almaceno en un vector a travez de una clase que tiene sus metodos set y get. Despues hago un metodo cuya funcion de beria presentar 4 preguntas al usuario, (Hasta aqui si lo hago) pero el problema se presenta por que ya no se como hacerle para que los text imput que son donde el usuario pondra sus respuestas se evaluen con las respues que estan almacenadas en el vector..

ejemplo : ___________
edad: |__________|
____________
ciudad:|____________|
__________
c_p: |__________|
________________
curp: |________________|

ENVIAR

al momento de oprimir el boton de ENVIAR se tienen que evaluar las repsuestas introducidas por el usuario con las que estan ya almacenadas en el vector..(cada pregunta con sus respectivas respuestas). si todas las respuetas fueron contestadas correctamete, entonces el programa ejecutara un servlet X, de lo contrario si alguna de las 4 preguntas fue contestada de forma incorrecta, entonces se le tienen que presentar otras 4 preguntas al uasurio ( aqui ocupo el random, para que genere numero aleatorios y no se vuelvan a repetir las mismas preguntas al uasurio), si contesta bien el usuario a las 4 preguntas, entonces se ejecuta el servlet X, si a la segunda vez el usuario contesta incorrectamente alguna de las 4 nuevas preguntas presentadas, se le vuelven a presentar otras 4 preguntas. y a la tercera vez si el usuario contetas bien alas 4 nuevas preguntas se ejecuta el servlet X, de lo contrario se le manda un mensaje de denegacion de servicio,

esto yo lo habia pensado resolver de la siguiente manera :

presntarle las 4 preguntas, despues de que el usuario presione el boton de ENVIAR entonces se comparan las respuestas del usuario con la s que ya estan en el vector e ir introduciendo un 1 a un arreglo por cada respuesta que sea correcta y un 0 por cada respuesta incorrecta.. despues contar cuantos 1 hay en el arreglo y si hay 4 unos entonces quiere decir que contesto todas bien y se ejecutaria el servlet X. pero si no, entonces se volveria a ejecutar el metodo de generar preguntas..

solo que ya no se como hacer en programacion esta parte..



ayunme porfavor..

les pongo el codigo, completo..

public class preguntas extends HttpServlet
{
private Connection conn = null;
private Statement st = null;

public void init(ServletConfig config) throws ServletException
{
super.init(config);
}


protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
Vector MetaDatosRS = new Vector();
Vector MetaDatosRespuestas = new Vector();
response.setContentType("text/vnd.wap.wml");
PrintWriter out = response.getWriter();
MetaDatosRS=null;
MetaDatosRS = AlmacenaResulSet(request);
MetaDatosRespuestas =null;
MetaDatosRespuestas= AlmacenaMetaDatosRespuetas(request, response, MetaDatosRS);

}

public Vector AlmacenaResulSet(HttpServletRequest request) throws ServletException, IOException
{
String control2= request.getParameter("control");
Vector preguntas = new Vector();
try
{
conn= conectar.getConnection();
conn.setAutoCommit(true);
Statement stmt = conn.createStatement();
ResultSet res=stmt.executeQuery("SELECT * FROM preguntas where no_ctrl=\'"+control2+"\'");
ResultSetMetaData metaDatos = res.getMetaData();
guardapreguntas pre=new guardapreguntas();

while(res.next())
{
pre.setId_pregunta1(metaDatos.getColumnName(1));
pre.setNo_ctrl1(metaDatos.getColumnName(2));
pre.setEdad1(metaDatos.getColumnName(3));
pre.setNo_telefono1(metaDatos.getColumnName(4));
pre.setDireccion1(metaDatos.getColumnName(5));
pre.setC_p1(metaDatos.getColumnName(6));
pre.setCiudad1(metaDatos.getColumnName(7));
pre.setDeporte_favorito1(metaDatos.getColumnName(8 ));
pre.setCURP1(metaDatos.getColumnName(9));
pre.setClave_de_elector1(metaDatos.getColumnName(1 0));
Integer id_pregunta = new Integer(res.getInt("id_pregunta"));
pre.setId_pregunta(id_pregunta);
Integer control = new Integer(res.getInt("no_ctrl"));
pre.setNo_ctrl(control);
Integer edad = new Integer(res.getInt("edad"));
pre.setEdad(edad);
pre.setNo_telefono(res.getString("no_telefono"));
pre.setDireccion(res.getString("dirección"));
Integer codigo= new Integer(res.getInt("c_p"));
pre.setC_p(codigo);
pre.setCiudad(res.getString("ciudad"));
pre.setDeporte_favorito(res.getString("deporte_fav orito"));
pre.setCURP(res.getString("CURP"));
pre.setClave_de_elector(res.getString("clave_de_el ector"));
preguntas.addElement(pre);
}
res.close();
stmt.close();

}catch (Exception e)
{
System.out.println("error" +e);
}
return preguntas;
}


public Vector AlmacenaMetaDatosRespuetas(HttpServletRequest request, HttpServletResponse response, Vector MetaDatosRS)
throws ServletException, IOException
{
String control2= request.getParameter("control");
response.setContentType("text/vnd.wap.wml");
PrintWriter out = response.getWriter();
Vector preguntastem = new Vector();
preguntastem = MetaDatosRS;
guardapreguntas pregu= (guardapreguntas) preguntastem.lastElement();

try
{
int alea[] = new Numero().getAleatorios(4,11);

out.println("<wml>");
out.println("<card id=\"card26\">");
out.println("<p>");
out.println("Contesta las preguntas");

for (int i=0; i < alea.length; i++)
{
switch(alea[i])
{
case 3:

out.println("<small>");
out.println(pregu.getEdad1()+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"edad\" maxlength=\"2\"/>");
String edad = request.getParameter("edad");

break;
case 4:

out.println("<small>");
out.println(pregu.getNo_telefono1()+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"no_telefono\" maxlength=\"10\"/>");

break;
case 5:

out.println("<small>");
out.println(pregu.getDireccion1()+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"direccion\" maxlength=\"10\"/>");
}catch(NumberFormatException e)
break;
case 9:
out.println("<small>");
out.println(pregu.getCURP1()+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"curp\" maxlength=\"18\"/>");
break;
default:
out.println("<small>");
out.println(pregu.getClave_de_elector1()+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"clave_de_elector\" maxlength=\"18\"/>");
}

}

out.println("<do type=\"accept\" label=\"Enviar Datos1\">");
out.println ("<go href=\"http://localhost:8080/examples/servlet/crearlogin\" method=\"post\">");
out.println("<postfield name=\"edad\" value=\"$(edad)\" />");
out.println("<postfield name=\"telefono\" value=\"$(telefono)\"/>");
out.println("<postfield name=\"direccion\" value=\"$(direccion)\" />");

out.println ("</go>");
out.println ("</do>");
out.println("</p>");
out.println("</card>");
out.println("</wml>");
}catch (Exception e)
{
out.println("error "+e);
}
out.flush();
return preguntastem;
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:49.