omag0
(usa Debian)
Enviado em 26/11/2019 - 10:23h
Acredito que o erro esteja aqui
private ArrayList<String> mensagem;
//Construtor
public BiscoitoSorte () {
this.preenchedorMensagem();
};
private void preenchedorMensagem() {
this.mensagem.add("msg1");
this.mensagem.add("msg2");
this.mensagem.add("msg3");
this.mensagem.add("msg4");
this.mensagem.add("msg5");
this.mensagem.add("msg6");
this.mensagem.add("msg7");
this.mensagem.add("msg8");
this.mensagem.add("msg9");
this.mensagem.add("msg10");
};
perceba que voce declara uma lista:
private ArrayList<String> mensagem;,
e depois você atribui valores a lista
mensagem.add("msg10");
mas em momento algum você inicia a lista
tente
private ArrayList<String> mensagem = new ArrayList()
Outra coisa, evite declarar variáveis que recebereção coleções (como list, arrays, sets) com os respectivas classes (List<>, Set<>), isso torna seu código muito rígido.
Use sempre abstrações, nesse caso, o Collection (como mostra no site
https://docs.oracle.com/javase/8/docs/api/java/util/List.html )
Seria algo do tipo
List<String> mensagem = Collections.emptyList();
ainda está rigido, mas é um ponto de partida para começar.
Eu sempre faço
Collection<String> mensagem ;
E ao invés de iniciar com new, eu faço com injeção de depencia.
Fica algo mais ou menos assim:
package BiscoitoSorte;
import java.util.ArrayList;
public class BiscoitoSorte(Collection<String> mensagem) {
//Construtor
public BiscoitoSorte () {
this.preenchedorMensagem();
};
private void preenchedorMensagem() {
this.mensagem.add("msg1");
this.mensagem.add("msg2");
this.mensagem.add("msg3");
this.mensagem.add("msg4");
this.mensagem.add("msg5");
this.mensagem.add("msg6");
this.mensagem.add("msg7");
this.mensagem.add("msg8");
this.mensagem.add("msg9");
this.mensagem.add("msg10");
};
public String getMensagem() {
int numAleatorio = (int)(Math.random() * 10 );
return this.mensagem.get(numAleatorio);
};
public static void main (String args[]) {
BiscoitoSorte bs = new BiscoitoSorte();
String string = bs.getMensagem();
System.out.println(string);
};
};
não testei o código então pode conter erros.