Gerar Dado de 6 lados RAPIDO!

20 respostas
Gemini

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

20 Respostas

E

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

leidson-JAVA
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());
		}
	}
	
}
Gemini

opa valeu!
achei uma outra forma tb:

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

renamed
Gemini:
opa valeu! achei uma outra forma tb:

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

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

        }
        
    }
R

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?

E
renamed:
Gemini:
opa valeu! achei uma outra forma tb:

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

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

        }
        
    }

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

D
entanglement:
renamed:
Gemini:
opa valeu! achei uma outra forma tb:

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

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

        }
        
    }

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

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

E

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

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%.

D

entanglement:
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

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%.

pretou atenção na pergunta???

o rpz falou em UM dado de 6 lados…

vlw

E

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.

D

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

E

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).

leidson-JAVA

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,

D

se ele qer sortearum numero do dado…

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

até q fim vc entendeu…

vlw

E

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?

maior_abandonado

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

D

kkkkkkkkkkkkkkkkkkkkkkk
nesse forum tem de tudo…

X

pessoALL, boa tarde .

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

Obrigado!

Ataxexe

caduket:
pessoALL, boa tarde .

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

Obrigado!

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

igor_ks

Hahahaha, como diz o cara que respondeu anteriormente (antes do up)

Damiao Cunha:
kkkkkkkkkkkkkkkkkkkkkkk
nesse forum tem de tudo…

Criado 12 de julho de 2010
Ultima resposta 27 de set. de 2013
Respostas 20
Participantes 10