Gerar Dado de 6 lados RAPIDO!

alguem ai tem um codigo pra simular um dado de 6 lados? o mais rapido possivel por favor! Obrigado!

http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/util/Random.html#nextInt(int)

[code]public class Dado {

public int jogarDado(){
	
	double numero = (Math.random()*1000);
	
	if(numero > 0 && numero <= 1000/6*1){
		return 1;
	}else if(numero > 1000/6*1 && numero <= 1000/6*2){
		return 2;
	}else if(numero > 1000/6*2 && numero <= 1000/6*3){
		return 3;
	}else if(numero > 1000/6*3 && numero <= 1000/6*4){
		return 4;
	}else if(numero > 1000/6*4 && numero <= 1000/6*5){
		return 5;
	}else if(numero > 1000/6*5 && numero < 1000){
		return 6;
	}else{
		return 0;
	}
	
}

public static void main(String [] args){
	for (int x = 0; x < 20; x++){
		System.out.println("Numero sorteado: " + new Dado().jogarDado());
	}
}

}[/code]

opa valeu!
achei uma outra forma tb:

valor = 1 + (int)(Math.random()*6);

[quote=Gemini]opa valeu!
achei uma outra forma tb:

valor = 1 + (int)(Math.random()*6);[/quote]

Ou ainda:

[code]
public static void main(String[] args) {
for (int i = 0; i < 6; i++) {
int num = new Random().nextInt(5) + 1;
System.out.println(num);

    }
    
}[/code]

isso aí nao deu… senao ve meu link, do jogo rapido logo perto, tem dado na classe tela… valeu. abraço.
quero fazer um general, topa ajudar?

[quote=renamed][quote=Gemini]opa valeu!
achei uma outra forma tb:

valor = 1 + (int)(Math.random()*6);[/quote]

Ou ainda:

[code]
public static void main(String[] args) {
for (int i = 0; i < 6; i++) {
int num = new Random().nextInt(5) + 1;
System.out.println(num);

    }
    
}[/code]

[/quote]

O código acima nunca irá gerar o valor “6”.

[quote=entanglement][quote=renamed][quote=Gemini]opa valeu!
achei uma outra forma tb:

valor = 1 + (int)(Math.random()*6);[/quote]

Ou ainda:

[code]
public static void main(String[] args) {
for (int i = 0; i < 6; i++) {
int num = new Random().nextInt(5) + 1;
System.out.println(num);

    }
    
}[/code]

[/quote]

O código acima nunca irá gerar o valor “6”. [/quote]

e ainda vc teria q criar outro metodo para saber se o numero sorteado é ou não repetido(já que em dado não tem numero repetido)…

vlw

[quote=Damiao Cunha]

e ainda vc teria q criar outro metodo para saber se o numero sorteado é ou não repetido(já que em dado não tem numero repetido)…

vlw[/quote]

Como não tem número repetido? Se eu jogar um par de dados, a probabilidade de sair 2 dados com o mesmo valor é de 6 * (1 / 36) = 1/6 = 16,67%.

[quote=entanglement][quote=Damiao Cunha]

e ainda vc teria q criar outro metodo para saber se o numero sorteado é ou não repetido(já que em dado não tem numero repetido)…

vlw[/quote]

Como não tem número repetido? Se eu jogar um par de dados, a probabilidade de sair 2 dados com o mesmo valor é de 6 * (1 / 36) = 1/6 = 16,67%. [/quote]

pretou atenção na pergunta???

o rpz falou em UM dado de 6 lados…

vlw

Sim senhor, então não faz sentido você se preocupar com números repetidos. Não é preciso criar método nenhum para saber se é ou não repetido.

pq não é preciso???

já que o random gera numeros aleatorios, inclusive PODEM serem repetidos…
e em um dado, não existe numeros repetidos…

itendeu!!
vlw

Ah, agora entendi. Você precisa mostrar os lados de um dado? Então basta imprimir a sequência 1, 2, 3. 4. 5, 6.

Mas não é isso que ele pediu. Provavelmente ele queria uma de duas coisas:

a) Como sortear um valor de 1 a 6, como se fosse um dado, ou

b) Para abusar de nossa infinita paciência, ele queria um método para mostrar um dado em uma janela, como uma figura de 3 dimensões (lembrar-se que em um dado de verdade, os lados opostos sempre somam 7).

galera!! vocês estão viajando muito! o cara apenas queria simular um dado de 6 lados!! logo ele queria um método que quando for chamado retorne um número entre 1 - 6 que equivale ao lado do dado! simples…

Abraço,

se ele qer sortearum numero do dado…

         Random gera = new Random();
         int num = gera.nextInt(7);

até q fim vc entendeu…

vlw

nextInt (7) gera um número de 0 até 6, com a probabilidade de cada número sair de 1/7.

O lançamento de dados requer um número de 1 a 6, com a probabilidade de cada número sair de 1/6.

O correto, obviamente, é 1 + nextInt (6). OK?

ta pedindo ajuda mais tem que ser rápido… vai ser folgado assim la no guj viu…

kkkkkkkkkkkkkkkkkkkkkkk
nesse forum tem de tudo…

pessoALL, boa tarde .

Por favor, como a classe de teste ( teste junit ) ajuda a identificar a interface pública da classe ?

Obrigado!

[quote=caduket]pessoALL, boa tarde .

Por favor, como a classe de teste ( teste junit ) ajuda a identificar a interface pública da classe ?

Obrigado![/quote]

Como você conseguiu relacionar isso com este tópico? Abra um tópico para isso (e explique melhor sua dúvida).