Math.Random Exercício do dado

Boa tarde galera,

Seguinte galera, preciso gerar um número aleatório entre 1 e 6 como quando jogamos um dado.

Porém a classe Math.Random geram números entre 0 e 1 sendo que o 1 nunca é sorteado.

Certo…se fizermos assim:

int num = (int) (Math.random() * 10);

consigo gerar números entre 1 e 10 sendo que o 10 nunca será sorteado.

Ok.

Porém não estou conseguindo pensar em uma forma de diminiur apenas para números entre 1 e 6.

Deve ser algo muito simples, porém, preciso da ajuda de vocês.

Muito obrigado, fico no aguardo.

Boa tarde,
tenta da seguinte forma :
int ale = (int) (1 + Math.random() * (7 - 1));

O Math.random cria um numero aleatório entre 1 e 0, então você vai multiplica pelo pelo intervalo, e somar com o número inicial (Tem que entender matematicamente isso ai).

Recomendo esse vídeo: https://www.youtube.com/watch?v=W9V5wtOOZHs

1 curtida

É só trocar o 10 por 6, e para não sortear 0 some mais 1.

public static void main(String[] args) {
		int num1=(int)(Math.random()*6)+1;
		int num2=(int)(Math.random()*6)+1;
		int num3=(int)(Math.random()*6)+1;
		int num4=(int)(Math.random()*6)+1;
		int num5=(int)(Math.random()*6)+1;
		int num6=(int)(Math.random()*6)+1;
		System.out.println(num1);
		System.out.println(num2);
		System.out.println(num3);
		System.out.println(num4);
		System.out.println(num5);
		System.out.println(num6);
	}
1 curtida

Sabia que era tão simples. kkkkkk

Muito Obrigado Rodrigo.

Resolvido!