Desenvolvimento - ASP. NET

Criando Números Aleatoriamente usando a classe Random

Neste artigo o autor mostra uma maneira fácil e simples como gerar números aleatórios / randômicos usando a classe Random.

por Mauricio Junior



Olá pessoal, meu nome é Mauricio Junior. Quero mostrar de uma maneira fácil e simples como gerar números aleatórios / randômicos com uma quantidade de dígitos que quiser, ou seja, com o tamanho que quiser. Este artigo é bem simples, fácil e tranqüilo de usar em seu dia a dia.

Requisitos

- Framework 2.0;

- Visual Studio.NET 2005

- Web Form ou Windows Form;

- Linguagem C#.NET

Na Prática

Antes de tudo, criei um projeto do tipo web form, isso não impede que você crie um do tipo windows form. Adicionei um novo item do tipo CLASS.

Passos:

1 – Clique com o botão direito em cima do projeto ADD / NEW ITEM. ... (Referência 1.1)

Referência: 1.1

2 – Apareceu automaticamente a tela de itens. Escolhi o tipo de CLASS. (Referência 1.2)

Referência: 1.2

Depois de criar a classe, criei um método estático que retorna um número inteiro e não recebe nada de entrada. Para quem não sabe ainda trabalhar com métodos estáticos, é bem simples a definição. Não precisa criar uma instância do método para utilizá-lo, só chamá-lo normalmente. (Referência 1.3)

public static int getNumberRandom()

{

Random number = new Random();

int retorno = number.Next(999);

return retorno;

}

Referência: 1.3

Explicação:

O primeiro de tudo é instanciar a classe Random cujo possui alguns métodos públicos representados na referência 1.4.

Public Methods

Name

Description

equals

(inherited from Object )

hashCode

(inherited from Object )

GetObjectData

Serializes the members of a Random object.

getClass

(inherited from Object )

clone

Creates a new instance of a Random object that is a shallow copy of an existing Random object.

next

Generates a random integer containing the number of bits specified.

nextBoolean

Generates a random boolean value.

nextBytes

Generates a random array of signed bytes.

nextDouble

Generates a random double value between 0 and 1.

nextFloat

Generates a random float value between 0 and 1.

nextGaussian

Generates a random Gaussian value.

nextInt

Overloaded. Generates a random int value.

nextLong

Generates a random long value.

setSeed

Sets the seed used to initialize the random number generator.

toString

Overridden. Displays a human readable summary of a Random object.

Referência: 1.4

O método utilizado de acordo com a referência 1.3 é o NEXT. Depois de instanciar, digitei o nome da variável ponto Next passando números.

int retorno = number.Next(999);

Referência: 1.5

O mesmo retorna um valor do tipo int, dessa forma criei outra variável que recebe o valor e retorna para o método que chamou.

Na página default.aspx.cs chamei o método da seguinte forma: (Referência 1.6)

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

Response.Write(Util.getNumberRandom().ToString());

}

}

Referência: 1.6

Note que, simplesmente coloquei o nome da classe ponto o nome do método sem nem mesmo criar uma instância e adicioná-la.

Veja o funcionamento (Referência 1.7)

Referência: 1.7

Clicando F5 para atualizar a página, veja o que foi gerado: (Referência 1.8)

Referência: 1.8

Coloquei apenas três dígitos e assim foi criado apenas números com três casas. Referência 1.9

number.Next(999);

Referência: 1.9

Acrescentar Mais Casas

Agora, colocarei 5 casas para o número randômico. (Referência 1.10)

Acessei o método e adicionar duas casas.

public static int getNumberRandom()

{

Random number = new Random();

int retorno = number.Next(99999);

return retorno;

}

Referência: 1.10

Resultado do sistema (Referência 1.11)

Referência: 1.11

Bom, fico por aqui. Qualquer dúvida, favor entrar em contato via e-mail ou pelo site pessoal. Desde já agradeço.

Mauricio Junior

Mauricio Junior - Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; . Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna e sou editor do Linha de Código.
Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A.
Blog:
blog.mauriciojunior.org
Site pessoal: www.mauriciojunior.org