Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Java Tutorial sobre o método aleatório
números gerados aleatoriamente têm muitos usos em programas de computador, como a criação de imprevisibilidade nos jogos, modelagem de simulação e realização de criptografia. Java fornece duas técnicas para a geração de números aleatórios. A biblioteca de matemática oferece um método aleatório simples, mas conveniente , para a geração de um valor de ponto flutuante aleatório entre 0 e 1,0 . A classe Random fornece capacidades de geração de números aleatórios mais flexíveis. números geradores
aleatórios são usados ​​em programação de jogos de azar.
Basics

Um gerador de números aleatórios é uma rotina destinada a produzir um valor numérico que parece escolhido por acaso. Em Java, como em todas as linguagens de programação , os valores gerados por Math.random ( ) ea classe Random parecem aleatórios , mas na verdade não são. Portanto, tais métodos são ditas para produzir números pseudo-aleatórios

Propriedades

geradores de números pseudo- aleatórios têm duas propriedades básicas: . Distribuição de sementes e < . br>

a " distribuição " refere-se à freqüência com que cada valor em uma série de números gerados aparece. A maioria dos métodos aleatórios do Java produzir uma distribuição uniforme de números , ou seja, ninguém valor irá aparecer com mais freqüência do que qualquer outro . A classe Random tem um método , nextGaussian , que gera números que seguem um Gaussian (também "normal " ou " curva de sino " ) de distribuição.

A "semente " é um número usado para inicializar um número pseudo-aleatório gerador . Dada a mesma semente , um gerador de números pseudo -aleatórios produzirá uma série idêntica de números de chamada , quando usando os mesmos métodos e parâmetros . A capacidade de reproduzir um conjunto de números é útil na depuração, testes e outros cenários onde recriar ambiente em execução de uma aplicação é necessária.
Math.random
()

A método Math.random () é um gerador simples de números pseudo- aleatórios. Ele é usado simplesmente ligando Math ( ) . O método retorna uma dupla entre 0,0 (inclusive) e 1,0 (exclusive) . Os valores produzidos seguem uma distribuição uniforme . Se um intervalo diferente, tipo ou distribuição são necessárias , o programador deve converter os resultados para o tipo desejado e realizar cálculos adicionais para gerar o resultado desejado.
The Random Classe

a classe Random é mais flexível do Math.random () , mas requer um pouco mais de esforço para usar. Uma instância da classe Random é construído. O construtor terá um inteiro desde que o valor de semente , ou se um valor de semente não é fornecido , ele usará a hora atual em milissegundos como a semente padrão. A classe Random fornece um método para a fixação da semente , após a construção . Existem vários métodos de geração de número pseudo -aleatório nesta classe, cada prefixadas com a palavra "próximo". A maioria destes métodos retornam valores uniformemente distribuídos em várias faixas e de vários tipos, tais como inteiros, valores de ponto flutuante e valores booleanos . O método retorna nextGaussian duplos distribuídos Gauss . O método nextInt pode tirar um parâmetro inteiro que define o limite superior do intervalo.

Considerações

está gerando um conjunto de números que não podem ser previstos por vezes desejável , por exemplo, para evitar que os jogadores sejam capazes de trapacear em jogos. Os valores de pseudo - aleatório retornados por várias instâncias de classe Random podem ser combinadas para fornecer aleatoriedade adicional no conjunto resultante . A implementação de uma distribuição não uniforme também pode ser útil .

Java gera números pseudo-aleatórios que seguem tanto uma distribuição de Gauss ou uniforme . Distribuições não uniformes são úteis , principalmente em simulações para imitar cenários que estejam em conformidade com as distribuições específicas em realidade. Outras distribuições podem ser alcançados utilizando a função de distribuição cumulativa inversa da distribuição desejada . Esta função tem uma probabilidade ( um valor entre 0,0 e 1,0 exclusivo) como parâmetro. Os resultados de ambos não nulos Math.random () ou um dos métodos de classe Random que retorna um valor de ponto flutuante pode ser usado para este parâmetro. Consulte a seção Recursos para obter um link para o Math Library Apache , que fornece métodos inversos para várias distribuições cumulativas .

Anterior :

Próximo : No
  Os artigos relacionados
·Como ler a seleção atual na caixa de combinação 
·O que poderia bloquear Java de modo que ele não funcio…
·Como adicionar uma imagem a um projeto no NetBeans 
·Como quebrar uma string em Substrings em Java 
·Como posso especificar um Taglib em Java 
·Como executar Tcpdump De Java 
·Como usar Java para criar Web Apps Serviço 
·Diferenças entre Factory & abstrata em Java 
·Como obter o índice da matriz de Cordas em Java 
·Como fazer o primeiro caractere de uma string em Caps e…
  Artigos em destaque
·Como usar expressões regulares para bloquear o spam 
·Como Chegar variáveis ​​macro em variáveis ​​Java 
·Como fechar os programas em C 
·Java vs C: Semelhanças e Diferenças 
·Decimal Vs . Tipos Número de dados 
·Java Teoria & Prática : Coleta de Lixo na JVM 1.4.1 
·Como calcular Gigabytes 
·Como criar um programa ping em Java 
·Como remover o Java 3D Temporizador em Programação Ja…
·Como converter Enum para String em Java 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados