Sorteio de palavras

6 respostas
ghostta

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

6 Respostas

T

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

B

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

ghostta
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

Entendi, mas como eu imprimo ::::

Ta cadastrando, mas nao ta imprimindo:

ArrayList pt = new ArrayList<String>(); 

...

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

...

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

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

B
ghostta:
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

Entendi, mas como eu imprimo ::::

Ta cadastrando, mas nao ta imprimindo:

ArrayList pt = new ArrayList<String>(); 

...

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

...

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

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

ghostta
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//
		
		
			
		
}
	}
	
	}

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.

Criado 29 de setembro de 2008
Ultima resposta 29 de set. de 2008
Respostas 6
Participantes 3