Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.26 KB | None | 0 0
  1. /* meu servlet recebe um comando e chama o metodo getSimulado */
  2.  
  3. private void getSimulado(HttpServletRequest request, HttpServletResponse response) throws Exception{
  4.  
  5.         ArrayList<ArrayList<Integer>> listaPosicao = new ArrayList<ArrayList<Integer>>();
  6.         int catSim = Integer.parseInt(request.getParameter("categoriaSimulado"));
  7.         int qtdQuestoes = Integer.parseInt(request.getParameter("qtdQuestoes"));
  8.        
  9.         ArrayList<Pergunta> perguntasAll = PerguntaDbUtil.getPerguntasByCategoria(catSim);
  10.         ArrayList<Pergunta> perguntasSelected = new ArrayList<Pergunta>();
  11.         Pergunta pergunta;
  12.         int aux = -1;
  13.         Random rnd = new Random();
  14.        
  15.         //perguntasSelected recebe qtdQuestoes perguntas de perguntasAll
  16.         while(perguntasSelected.size() < qtdQuestoes) {
  17.             aux = rnd.nextInt(qtdQuestoes) + 1;
  18.            
  19.             pergunta = perguntasAll.get(aux);
  20.            
  21.             if (perguntasSelected == null)
  22.                 perguntasSelected.add(pergunta);
  23.  
  24.             if (perguntasSelected.contains(pergunta)) {
  25.                 continue;
  26.             }else {
  27.                 perguntasSelected.add(pergunta);
  28.             }          
  29.         }
  30.          
  31.         //gera posição aleatoria das respostas
  32.         aux = 0;
  33.         while (aux < perguntasSelected.size()) {
  34.             listaPosicao.add(getRandomSequence()); 
  35.             aux++;
  36.         }
  37.  
  38.         request.setAttribute("PERGUNTAS_SIM", perguntasSelected);
  39.         request.setAttribute("PERGUNTAS_POS", listaPosicao);
  40.        
  41.         RequestDispatcher dispatcher = request.getRequestDispatcher("/simulado-test.jsp");
  42.         dispatcher.forward(request, response); 
  43.  
  44.     }
  45.    
  46.     private ArrayList<Integer> getRandomSequence() throws Exception{
  47.  
  48.         ArrayList<Integer> listaSequence = new ArrayList<Integer>();
  49.         Random rnd = new Random();
  50.         boolean x1 = false, x2 = false, x3 = false, x4 = false;
  51.         int count = 0;
  52.         int tempNum = 0;
  53.         while (count < 4)
  54.         {
  55.             tempNum = rnd.nextInt(4);      
  56.            
  57.             if ((tempNum==0) && (x1 == false)) {               
  58.                 x1 = true;
  59.                 listaSequence.add(tempNum);//= tempNum;
  60.                 count++;
  61.                
  62.             } else if ((tempNum==1) && (x2 == false)) {
  63.                 x2 = true;
  64.                 listaSequence.add(tempNum);
  65.                 count++;
  66.                
  67.             }else if ((tempNum==2) && (x3 == false)) {
  68.                 x3 = true;
  69.                 listaSequence.add(tempNum);
  70.                 count++;
  71.                
  72.             }else if ((tempNum==3) && (x4 == false)) {
  73.                 x4 = true;
  74.                 listaSequence.add(tempNum);
  75.                 count++;
  76.             }
  77.         }
  78.        
  79.         return listaSequence;
  80.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement