[Ayuda] Relacionar dos ArrayList
Publicado por Ariel (1 intervención) el 16/07/2018 19:07:22
Hola.
Estoy trabajando en un sistema para hacer test en lÃnea, todo iba bien hasta que he llegado a la parte de imprimir las preguntas y respuestas.
Verán el contexto es algo asÃ.
Tengo una base de datos con una tabla de preguntas y otra de respuestas, lo que llevo ahorita o como lo imagino es que de esas tablas tengo dos ArrayList con ciertas preguntas y ciertas respuestas ya cargadas.
El problema es que no tengo idea de como relacionar esos ArrayList, para que a cada pregunta le toquen sus respuestas correspondientes y además esas respuestas pasarlas a RadioButtons de HTML.
No sé si lo esté haciendo bien o si deba de ser de otra forma.
Acepto sus sugerencias en caso de que mi idea esté errada, necesito su ayuda.
Les adjunto mi código, perdón por lo desordenado.
Estoy trabajando en un sistema para hacer test en lÃnea, todo iba bien hasta que he llegado a la parte de imprimir las preguntas y respuestas.
Verán el contexto es algo asÃ.
Tengo una base de datos con una tabla de preguntas y otra de respuestas, lo que llevo ahorita o como lo imagino es que de esas tablas tengo dos ArrayList con ciertas preguntas y ciertas respuestas ya cargadas.
El problema es que no tengo idea de como relacionar esos ArrayList, para que a cada pregunta le toquen sus respuestas correspondientes y además esas respuestas pasarlas a RadioButtons de HTML.
No sé si lo esté haciendo bien o si deba de ser de otra forma.
Acepto sus sugerencias en caso de que mi idea esté errada, necesito su ayuda.
Les adjunto mi código, perdón por lo desordenado.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Class.forName("com.mysql.jdbc.Driver");
//creating connection with the database
PreparedStatement st = null;
Statement statement = null;
Connection conn=DriverManager.getConnection
("jdbc:mysql://localhost:3306/entrevistas", "root", null);
String sql = "SELECT * FROM preguntas WHERE idSeccion =1";
st = conn.prepareStatement(sql);
ResultSet rs = st.executeQuery();
int id = 0;
int idSeccion = 0;
int idCuestionario = 0;
int numPregunta = 0;
String pregunta = "";
String tipoPregunta = "";
int i =0;
Preguntas preguntas1 = null;
ArrayList <Preguntas> listaPreguntas = new ArrayList <Preguntas>();
%>
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h2>Serie 1</h2>
<%while (rs.next()){
preguntas1 = new Preguntas (id,idSeccion,idCuestionario,pregunta,numPregunta,tipoPregunta,0);
id = rs.getInt("idPreguntas");
idSeccion = rs.getInt("idSeccion");
idCuestionario = rs.getInt("idCuestionario");
numPregunta = rs.getInt("numPregunta");
pregunta = rs.getString("pregunta");
tipoPregunta = rs.getString("tipoPregunta");
//out.print(consulta1);
%>
<%
listaPreguntas.add(preguntas1);
}
//conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/entrevistas", "root", null);
//String sqlR = "SELECT * FROM respuestas where num_Pregunta=1";
//st = conn.prepareStatement(sqlR);
//ResultSet rst = st.executeQuery();
int idRespuesta = 0;
String enunciado = "";
int tipoRespuesta = 0;
int respCorectaCerrada = 0;
String respCorrectaAbierta = "";
int pesoRespuesta = 0;
Respuestas respuesta1 = null;
//ArrayList <Respuestas> listaRespuestas = new ArrayList <Respuestas> ();
/*while(rst.next()){
respuesta1 = new Respuestas(numPregunta,idRespuesta,enunciado,tipoRespuesta,respCorectaCerrada,pesoRespuesta,respCorrectaAbierta);
numPregunta = rst.getInt("num_pregunta");
idRespuesta = rst.getInt("id_respuestas");
enunciado = rst.getString("enunciado");
tipoRespuesta = rst.getInt("TipoRespuesta");
respCorectaCerrada = rst.getInt("RespuestaCorrectaCerrada");
respCorrectaAbierta = rst.getString("RespuestaCorrectaAbierta");
pesoRespuesta = rst.getInt("PesoRespuesta");
listaRespuestas.add(respuesta1);
}*/
int lP = listaPreguntas.size();
//int lR = listaRespuestas.size();
for (i=0;i<lP;i++){
out.print(listaPreguntas.get(i).getPregunta()+"<div>");
ArrayList <Respuestas> listaRespuestas = new ArrayList <Respuestas> ();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/entrevistas", "root", null);
String sqlR = "SELECT * FROM respuestas where id_respuestas <= 16";
st = conn.prepareStatement(sqlR);
ResultSet rst = st.executeQuery();
while(rst.next()){
respuesta1 = new Respuestas(numPregunta,idRespuesta,enunciado,tipoRespuesta,respCorectaCerrada,pesoRespuesta,respCorrectaAbierta);
numPregunta = rst.getInt("num_pregunta");
idRespuesta = rst.getInt("id_respuestas");
enunciado = rst.getString("enunciado");
tipoRespuesta = rst.getInt("TipoRespuesta");
respCorectaCerrada = rst.getInt("RespuestaCorrectaCerrada");
respCorrectaAbierta = rst.getString("RespuestaCorrectaAbierta");
pesoRespuesta = rst.getInt("PesoRespuesta");
listaRespuestas.add(respuesta1);
}
int lR = listaRespuestas.size();
for ( int g=0;g<lR;g++){
String respuestas = listaRespuestas.get(g).getEnunciado();
out.print(respuestas+"<div>");
}
}
%>
Valora esta pregunta
0