Random em java

6 respostas
T

eu preciso fazer uma função que retorne um numero inteiro aleatório. Alguem pode me ajudar?

6 Respostas

M

public int aleatorio( int fator ) { return ( 1 + ( int ) ( Math.random() * fator ) ); }

…o parametro fator é o valor máximo q vc quer receber… ou seja, se o fator for 10, ele irá gerar um numero aleatorio de 1 a 10.

:pepsi:

H

A geração de números aletórios pode ser feita também usando-se um objeto gerador. Dependendo do caso, há interesse de se criar uma única instância da classe Random para se poder repetir uma sequência de valores.

Existe uma categoria de testes em engenharia de sofware chamada testes de Monte Carlo (em homenagem ao famoso cassino) que explora esta classe.

// inicializando o gerador randômico

Random rand = new Random(123);

// Número dentro da faixa total dos inteiros

int n = rand.nextInt();

// Numero com um tamanho limitado

int n = rand.nextInt(50);

Vale a pena dar uma olhada na API.

W

Tá aí o método:

// MÉTODO RECEBE PARÂMETROS COM 
// O INTERVALO NUMÉRICO
public int geraRandomico( int inicio, int fim )
{
    return ( inicio + (int)( Math.random() * fim );
}

O método recebe dois parametros indicando o número inicial e o final para número randômico desejado.

W

Desculpa, faltou um ) no retorno:

public int geraRandomico( int inicio, int fim )
{
    return ( inicio + (int)( Math.random() * fim ));
}
D

“Wanderson”:
Desculpa, faltou um ) no retorno:

public int geraRandomico( int inicio, int fim ) { return ( inicio + (int)( Math.random() * fim )); }

Mas esse (int) da linha return ( inicio + (int)( Math.random() * fim )); é a sigla de INTEIRO mesmo ou ali eu devo colocar algum numero ???

V

esse (int)
serve para converter o valor retornado para inteiro
não substitua

Criado 14 de março de 2004
Ultima resposta 4 de abr. de 2005
Respostas 6
Participantes 6