Array list

Ola estou desenvolvendo um sistema de perguntas e respostas a qual tem varias perguntas armazenadas em um array list. A principio coloquei somente 3 para testa e ver como esta ficando porem quando executo ele ñ traz a perguntas do array. Detalhe ele chama as perguntas de maneira randonica.
Porem esta dando um erro na hora de chamar as perguntas no netbeans exibi uma mensagem a respeito do banco de dados.
Segue em os codigos desenvolvidos ate o momento.


 //index.jsp    
 <%--    
 Document : pergunta1    
 Created on : 02/03/2009, 21:32:21    
 Author : aluno    
 --%>    
     
 <%@page contentType="text/html" pageEncoding="UTF-8"%>    
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    
 "http://www.w3.org/TR/html4/loose.dtd">    
 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    
 <html>    
 <head>    
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">    
 <title>.:: Jogo de Perguntas ::.</title>    
 </head>    
 <body>    
 <form action="Perguntas">    
 <h2>Perguntas e Respostas</h2>    
     
 Você respondera 10 perguntas de diversos assuntos.    
     
 Na medida em que for acertando você passara para a pergunta    
 seguinte se você erra o jogo acaba e te mostra quantas    
 perguntas acertou ate o momento.    
     
 <input type="submit" value="Começa"/>    
 </form>    
     
     
     
 </body>    
 </html>

[code]
//pergunta.java

import java.util.ArrayList;

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

/**
*

  • @author aluno
    */
    public class Pergunta {
    private String pergunta;
    private ArrayList<String> respostas;

/**

  • @return the pergunta
    */
    public String getPergunta() {
    return pergunta;
    }

/**

  • @param pergunta the pergunta to set
    */
    public void setPergunta(String pergunta) {
    this.pergunta = pergunta;
    }

/**

  • @return the respostas
    */
    public String getRespostas(int index) {
    return respostas.get(index);
    }

/**

  • @param respostas the respostas to set
    */
    public void setRespostas(String resposta) {
    this.respostas.add(resposta);
    }
    } [/code]

[code]
//Pergutas.java Este e o meu servlets

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*

  • @author aluno
    */
    public class Perguntas extends HttpServlet {

private BasePergunta DB = new BasePergunta();
/**

  • Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
  • @param request servlet request
  • @param response servlet response
  • @throws ServletException if a servlet-specific error occurs
  • @throws IOException if an I/O error occurs
    */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType(“text/html;charset=UTF-8”);
    PrintWriter out = response.getWriter();
    try {

out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Perguntas</title>");
out.println("</head>");
out.println("<body>");

Random r = new Random();
Pergunta P = DB.getPergunta(r.nextInt(DB.tamanho()));
out.println(p.getPergunta());

out.println("</body>");
out.println("</html>");

} finally {
out.close();
}
}

// <editor-fold defaultstate=“collapsed” desc=“Métodos HttpServlet. Clique no sinal de + à esquerda para editar o código.”>
/**

  • Handles the HTTP <code>GET</code> method.
  • @param request servlet request
  • @param response servlet response
  • @throws ServletException if a servlet-specific error occurs
  • @throws IOException if an I/O error occurs
    */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    processRequest(request, response);
    }

/**

  • Handles the HTTP <code>POST</code> method.
  • @param request servlet request
  • @param response servlet response
  • @throws ServletException if a servlet-specific error occurs
  • @throws IOException if an I/O error occurs
    */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    processRequest(request, response);
    }

/**

  • Returns a short description of the servlet.
  • @return a String containing servlet description
    */
    @Override
    public String getServletInfo() {
    return “Short description”;
    }// </editor-fold>

}[/code]

[code]
// BasePergunta.java
import java.util.ArrayList;

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    /
    /
    *
  • @author aluno
    */
    public class BasePergunta {

private ArrayList<Pergunta> perguntas;

public BasePergunta() {
Pergunta P = new Pergunta();
P.setPergunta(“Qual a resposta certa?”);
P.setRespostas(“certa”);
P.setRespostas(“errada”);
P.setRespostas(“errada”);
perguntas.add§;
P = new Pergunta();
P.setPergunta(“Qual a outra resposta certa?”);
P.setRespostas(“errada”);
P.setRespostas(“certa”);
P.setRespostas(“errada”);
perguntas.add§;
P = new Pergunta();
P.setPergunta(“Qual a mais outra resposta certa?”);
P.setRespostas(“errada”);
P.setRespostas(“errada”);
P.setRespostas(“certa”);
perguntas.add§;
}

public Pergunta getPergunta(int index) {
Pergunta P = perguntas.get(index);
perguntas.remove(index);
return P;
}

public int tamanho() {
return perguntas.size();
}
}[/code]

e qual seria a mensagem de erro?!

A mensagem de erro parou de aparecer no entanto ainda continua com erro
Tirei um print pra ficar mais facil a visualização do erro.

  perguntas.add(P);  

O objecto perguntas foi criado?

Aonde no servlet ou na base pergunta?

…?

Na BasePergunta, antes de adicionar as perguntas tens de inicializar o ArrayList.

Ok vou testar