Java - [Ayuda] Relacionar dos ArrayList

 
Vista:

[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.

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder