Sortear aleatoriamente cada String num JLabel

Olá. Sou novo em Java e preciso da sua ajuda.
Estou num projeto onde: Tenho 04 JLabel (Resp1, Resp2, Resp3 e Resp4) que devem receber ALEATÓRIAMENTE um texto cada um.
Obs.: eu já tenho os valores (String) para cada um (tRes1, tRes2, tRes3, tRes4):

JLabel resp1    = new JLabel("00",JLabel.CENTER);
JLabel resp2    = new JLabel("00",JLabel.CENTER);
JLabel resp3    = new JLabel("00",JLabel.CENTER);
JLabel resp4    = new JLabel("00",JLabel.CENTER);

Só consegui isso:

    resp1.setText(tRes0);
    resp2.setText(tRes1);
    resp3.setText(tRes2);
    resp4.setText(tRes3);

Obrigado.

Muito parecida a minha dúvida com esta aqui.

Continuando a discussão do Sorteio de String sem repetição:

Hei Abner, nem sei se posso conversar aqui, mas não é bem isso que preciso.
Eu tenho os jlabel, cada um com nomes diferentes e preciso de uma forma de sortear o conteúdo entre eles.
image

Estes resultados (quadros na cor cyano)
preciso fazer um sorteio entre eles para depois apresentarna tela.

Outra coisa seria SORTEAR os resultados entre os 04 jlabel, só não quero é ter os resultados na mesma POSIÇÃO sempre.

Fiz um exemplo bem básico, não sei se ainda é o que você quer, dá uma olhada:

Sem%20t%C3%ADtulo

public void gerarNumero() {
    int n1, n2, n3, n4;
    Random gerar = new Random();
    n1 = gerar.nextInt(100);
    n2 = gerar.nextInt(200);
    n3 = gerar.nextInt(300);
    n4 = gerar.nextInt(400);
    campo1.setText(String.valueOf(n1));
    campo2.setText(String.valueOf(n2));
    campo3.setText(String.valueOf(n3));
    campo4.setText(String.valueOf(n4));
}

Aí vc pode ir colocando operações pra ficar mais variado:

public void gerarNumero() {
    int n1, n2, n3, n4;
    Random gerar = new Random();
    n1 = gerar.nextInt(100) + 1;
    n2 = gerar.nextInt(200) * 2;
    n3 = gerar.nextInt(300) / 3;
    n4 = gerar.nextInt(400) * 400 - 7;
    campo1.setText(String.valueOf(n1));
    campo2.setText(String.valueOf(n2));
    campo3.setText(String.valueOf(n3));
    campo4.setText(String.valueOf(n4));
}
1 curtida

AHHHHHHHHHHHHHHHHHHHHHH, acho que entendi, você quer colocar os possíveis resultados nos campos em Cyano? Desculpa amigo, eu não tinha entendido!

Vê se esse post te ajuda: https://www.vivaolinux.com.br/topico/Java/Programa-de-Sorteio

1 curtida

kkkkk não ajudou n.
Mas não vou desisti
To pensando em colocar os resultados em um array e embaralhar este array ai depois colcoar os valores nos jlabel.
Sei que dá pra fazer assim.

thanks.

Olá. Consegui um bom resultado assim:

//-----------------------------
nres.add( qr1 * qr2 ); //<-coloquei o resultado certo numa posição de array
for (int i = 1;i <= 10;i++){ <- coloquei TODOS os resultados possíveis noutro array (ntabuada)
ntabuada.add(qr1*i); }
//-----------------------------
for (int i = 1;i <= 3;i++) { <- criei um NOVO arraylist para reagrupar SÓ 04 resultados
int qres = gerador.nextInt(ntabuada.size());
nres.add( qres ); }
//-----------------------------
Collections.shuffle( nres ); <- isso faz o EMBARALHAMENTO que eu precisava

E a partir daqui formatei os valores e coloquei nos jlabel. E parece que ficou bom.

Obrigado a todos. Vocês são mesmo demais.
image