Loop Infinito alternativas de questões
Olá.
Estou com uma dúvida a respeito de um método em Java que criei para preencher quatro botões com as alternativas de um Quiz.
Em um label coloquei a camisa de um time em baixo tem quatro botões com as alternativas que são preenchidos de forma aleatória.
Primeiro criei um array com a alternativa correta que passo como parâmetro n4 e outras três strings geradas de um outro array de forma aleatória.
Depois em um outro do While preencho os botões com os nomes fazendo uma comparação para que não sejam preenchidos valores repetidos.
Só que quando isso acontece ele entra em um loop e não sai disso.
Alguém teria uma melhor maneira de se fazer isso?
Estou com uma dúvida a respeito de um método em Java que criei para preencher quatro botões com as alternativas de um Quiz.
Em um label coloquei a camisa de um time em baixo tem quatro botões com as alternativas que são preenchidos de forma aleatória.
Primeiro criei um array com a alternativa correta que passo como parâmetro n4 e outras três strings geradas de um outro array de forma aleatória.
Depois em um outro do While preencho os botões com os nomes fazendo uma comparação para que não sejam preenchidos valores repetidos.
Só que quando isso acontece ele entra em um loop e não sai disso.
Alguém teria uma melhor maneira de se fazer isso?
public void preencheAlternativas(String n4){
Random random = new Random();
String n1, n2, n3;
n1 = array.premierLeague.get(random.nextInt(5));
do{
n2 = array.premierLeague.get(random.nextInt(5));
n3 = array.premierLeague.get(random.nextInt(5));
}
while((n1 == n2) || (n1 == n3) || (n1) == (n4) || (n2 == n3) || (n2 == n4));
String[] d = {n1 , n2, n3, n4};
btn_alternativa1.setText(d[random.nextInt(4)]);
do{
btn_alternativa2.setText(d[random.nextInt(4)]);
btn_alternativa3.setText(d[random.nextInt(4)]);
btn_alternativa4.setText(d[random.nextInt(4)]);
System.out.println(btn_alternativa1.getName());
System.out.println(btn_alternativa2.getName());
System.out.println(btn_alternativa3.getName());
System.out.println(btn_alternativa4.getName());
System.out.println(lbl_camisa.getName());
}
while((btn_alternativa1.getText() == btn_alternativa2.getText()) || (btn_alternativa1.getText() == btn_alternativa3.getText())
|| (btn_alternativa1.getText() == btn_alternativa4.getText()) || (btn_alternativa2.getText() == btn_alternativa3.getText())
|| (btn_alternativa2.getText() == btn_alternativa4.getText()) || (btn_alternativa3.getText() == btn_alternativa4.getText()));
} Paulo Henrique
Curtidas 0