Storing questions from a java quiz

Asked

Viewed 493 times

1

I have a quiz game made in java and would like to add in a class the questions that would appear on the screen for the user, I thought to use Arrylist, but it is not working. I tried that:

    package model;
    import java.util.ArrayList;

/**
 *
 * @author Aluno
 */
public class Perguntas {
   public static ArrayList<String> preciclagem = new ArrayList<String>();
   public static ArrayList<String> psus = new ArrayList<String>();
   public static ArrayList<String> precursos = new ArrayList<String>();


   public static void Preciclagem(){

       preciclagem.add("1°) Reciclar é uma forma de reduzir o lixo depositado no ambiente\n" +
"e todos podemos colaborar para a conscientização da sociedade sobre\n" +
"os benefícios dessa atividade.");

       preciclagem.add("2°) Muitas pessoas utilizam essa forma de vida como fonte de renda, \n" +
"e ainda ajudam o meio ambiente. O profissional que destina o tempo \n" +
"para reciclagem é totalmente importante para o ciclo e redução da \n" +
"produção de lixos.");

       preciclagem.add("3°) São muitos os materiais que são recicláveis e podemos fazer a \n" +
"separação na nossa casa e no local de trabalho. Os materiais que\n" +
"são recicláveis são: pilhas, acrílico, espuma, plástico, tecido e componentes\n" +
"eletrônicos.");

       preciclagem.add("4°) Os materiais que serão reciclados são transportados para uma \n" +
"cooperativa ou são recolhidos em locais estratégicos, esses materiais \n" +
"são limpos e reprocessados em novos materiais para a produção industrial.");

        preciclagem.add("5°) Mesmo com o avanço da tecnológia, é impossivel fazer com que os itens \n" +
"não reciclaveis se tornem futuramente reciclaveis.");

   }

When I try to call the first question of that mistake:

public class Principal {
    public static void main(String args[]){
       System.out.println(preciclagem.get(0));

    }

}

Error that has nothing stored:

    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at controller.Principal.main(Principal.java:21)
C:\Users\enzo\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

1 answer

0


You did not start the questions/objects using the Questions class Preciclage method, try this.

public static void main(String[] args){
    Perguntas.Preciclagem();
    System.out.println(Perguntas.preciclagem.get(0);
}
  • so I recommend you use the constructor method to initialize these questions (if you do not know what the constructor method I recommend searching) [links]( https://www.devmedia.com.br/constructes-em-java/28618 , https://www.guj.com.br/t/o-que-e-construtor/70766 , https://www.guj.com.br/t/qual-a-syntax-para-criar-um-metodo-construtor/66748 , http://www.mballem.com/post/declaraca-de-constructes-java/)

  • From what I understood the constructor method serves to add the information the variables, but in my case I do not want to add more questions in this class, as the constructor method would be useful?

  • It would be because it is only called when creating the object, in your code you can call as many times as you want the Preciclagem method().

Browser other questions tagged

You are not signed in. Login or sign up in order to post.