Mostra perguntas do Array

8 respostas
david.cs20
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. 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>
//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);  
  }  
  }
//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("</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>  
    
  }
// 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);  
  P = new Pergunta();  
  P.setPergunta("Qual a outra resposta certa?");  
  P.setRespostas("errada");  
  P.setRespostas("certa");  
  P.setRespostas("errada");  
  perguntas.add(P);  
  P = new Pergunta();  
  P.setPergunta("Qual a mais outra resposta certa?");  
  P.setRespostas("errada");  
  P.setRespostas("errada");  
  P.setRespostas("certa");  
  perguntas.add(P);  
  }  
    
  public Pergunta getPergunta(int index) {  
  Pergunta P = perguntas.get(index);  
  perguntas.remove(index);  
  return P;  
  }  
    
  public int tamanho() {  
  return perguntas.size();  
  }  
  }

8 Respostas

thiago.correa

você está apenas buscando a pregunta, mas não está imprimindo ela na saída entendeu?!
O certo seria algo do tipo

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

david.cs20

Testarei aqui !
mais do mais o codigo esta certo ?!

david.cs20

Não apareceu continua a mesma coisa !

david.cs20

Alguem pode me auxiliar ?!?!

david.cs20

alguem pode ajudar ??

Suellen_Susu

Bom, eu vi o código de vcs mas ainda falta algumas coisas no q preciso fazer:

Estou fazendo um TCC, q é um jogo tipo Quiz (q ja faz conexão com o banco de dados MySql), e precisava saber como posso criar, pelo NetBeans, um array q guade o meu total de perguntas q possuo do banco, mas q ao msmo tempo funcione d forma randômica, fazendo com q as perguntas ñ sejam apresentadas ao usuário sempre na msma ordem, e q ñ repita a msma pergunta depois q for mostrada ao usuário.

Grata a qm puder me ajudar!

Grande abraço!

david.cs20

Suellen tem muito tempo que nao mexo nesse trabalho de faculdade mais creio que ainda tenho alguns dos fontes a qual eu utilizei para desenvolver o meu trabalho e acho que pode ser util em alguma coisa.
Me mande um e-mail falando do trabalho que assim que ai te mando a especificação do meu trabalho e se ele mesmo lhe for util posso disponibilizar alguns fontes para te ajudar. :smiley:

Suellen_Susu

[color=purple]Ok!!! ;D[/color]

Criado 22 de abril de 2009
Ultima resposta 16 de mar. de 2010
Respostas 8
Participantes 3