Sorteio de palavras

Ainda não vi nenhum exemplo de cadastro e sorteio de palavras.

Assim: Voce pode cadastrar quantas palavras você quiser e depois clikar no botao de SORTEAR.

Queria que voces me ajudassem.

tenho que Cadastrar em Array, Vetor ou outro ? :?:
Pra sortear eu uso Math.random ? :?:

Espero algum esclarecimento.

Obrigado pela atenção

a) Use um java.util.ArrayList
b) Pode usar Random, se quiser, mas eu prefiro usar java.util.Collections, método shuffle - é bem mais fácil

Referência: http://java.sun.com/javase/6/docs/api/index.html

Opa…

Cara, seguinte.

Usa um ArrayList mesmo…
Adiciona tuas palavras nele:

ArrayList palavras = new ArrayList<String>()

palavras.add(“palavra a ser adicionada”);

depois tu usa um collection…

a faz o seguinte:

collection.shuffle(palavras);

e ele te devolve o teu arraylist todo randomico :smiley:
:smiley:
Qualquer ajuda mais especifica ae da um toque…

abração

[quote]Opa…

Cara, seguinte.

Usa um ArrayList mesmo…
Adiciona tuas palavras nele:

ArrayList palavras = new ArrayList()

palavras.add(“palavra a ser adicionada”);

depois tu usa um collection…

a faz o seguinte:

collection.shuffle(palavras);

e ele te devolve o teu arraylist todo randomico
[/quote]

Entendi, mas como eu imprimo ::::

Ta cadastrando, mas nao ta imprimindo:

[code]
ArrayList pt = new ArrayList();

pt.add(JOptionPane.showInputDialog(null, "Digite o nome do Participante : "));

JOptionPane.showMessageDialog (null, Collections.shuffle(pt) ); //nao e assim?[/code]

Não; Collections.shuffle(pt) só embaralha a lista anterior, mas não retorna nada. Você tem de pegar algum elemento da lista.

[quote=ghostta][quote]Opa…

Cara, seguinte.

Usa um ArrayList mesmo…
Adiciona tuas palavras nele:

ArrayList palavras = new ArrayList()

palavras.add(“palavra a ser adicionada”);

depois tu usa um collection…

a faz o seguinte:

collection.shuffle(palavras);

e ele te devolve o teu arraylist todo randomico
[/quote]

Entendi, mas como eu imprimo ::::

Ta cadastrando, mas nao ta imprimindo:

[code]
ArrayList pt = new ArrayList();

pt.add(JOptionPane.showInputDialog(null, "Digite o nome do Participante : "));

JOptionPane.showMessageDialog (null, Collections.shuffle(pt) ); //nao e assim?[/code]

[/quote]

Cara, o shuffle é um void, não retorna nada… depois de usalo que vc deve pegar um valor do arraylist:

collections.shuffle(); //sem mais nada, só isso

depois tu pega o valor do arraylist e utiliza pra imprimir na tua tela.

\o

[code]import javax.swing.*;

import java.awt.;
import java.util.
;
import java.awt.event.*;
import java.util.Collections ;

public class Exemplo extends JFrame implements ActionListener{
private JButton cadastrar;
private JButton sortear;

 private JLabel LblTitulo;

private ArrayList pt = new ArrayList<String>(); //ArrayList

public Exemplo()
 {
	
	this.setTitle("Sorteio");
   this.setBounds(300,200,500,400);
   
cadastrar = new JButton("Adicionar Participante");
cadastrar.setBorder(BorderFactory.createBevelBorder(0,Color.GRAY,Color.BLACK));
cadastrar.setBackground(Color.WHITE);
cadastrar.setBounds(10,60,150,30);
cadastrar.addActionListener(this); 

sortear = new JButton("Sortear");
sortear.setBorder(BorderFactory.createBevelBorder(0,Color.GRAY,Color.BLACK));
sortear.setBackground(Color.WHITE);
sortear.setBounds(10,100,150,30);
sortear.addActionListener(this); 

Container c = getContentPane();  
c.setLayout(null);

LblTitulo = new JLabel("<html><b><u>---Sorteio---</u></b></html>");
c.add(LblTitulo);
LblTitulo.setBounds(210,10,120,30);
Panel a,b;  
a = new Panel ();  
b = new Panel();  
b.setLayout (new GridLayout(600,800));  
c.add (cadastrar);  
c.add (sortear);

show();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }


public static void main(String[] args) {

	new Exemplo().setVisible(true); 
	
	
}
public void actionPerformed(ActionEvent e){
	if(e.getSource() == cadastrar){   // Cadastrar//
		
		
		
		
		JOptionPane.showInputDialog(null, "Digite o nome do Participante : ");
		
		
		
		
	
		
	}
   if(e.getSource() == sortear){   // SORTEAR//

}
}

}

[/code]

Aqui: Estou fazendo este aqui so para iniciar. Depois vou fazer Sorteio com 2 listas, tipo lista de pessoas e premios.
So que nao consegui colocar o codigo certo.