Gerar números randomicos em java

Boa tarde a todos do forum,

será que alguem poderia me dar uma ajuda, por gentiliza…=)

Eu preciso gerar números randomicos na linguagem java e armazena-los em um vetor.

obs: os números a serem gerados tem que ser de 1 à 100, e o vetor deve armazenar esses 100 números
que devem ser inteiros.

como faço isso?

Obrigado pela ajuda.

Dá uma olhada na classe Math do pacote java.lang e especificamente no método random().

Pesquise sobre o método Math.random()

Cheguei atrasado. Mas o caminho é esse que o drsmachado citou.

[quote=wampactimus]Boa tarde a todos do forum,

será que alguem poderia me dar uma ajuda, por gentiliza…=)

Eu preciso gerar números randomicos na linguagem java e armazena-los em um vetor.

obs: os números a serem gerados tem que ser de 1 à 100, e o vetor deve armazenar esses 100 números
que devem ser inteiros.

como faço isso?

Obrigado pela ajuda.[/quote]

Olá amigo! veja o código:

int[] vetor = new int[100]; //cria o vetor com 100 posições
        for(int i = 0; i < vetor.length; i++) {
            int rnd = (int) (1 + Math.random() * 100) // gera um valor randomico de 0.0 ate menores q 1.0, multiplica por 100 e soma 1. Convertendo o resultado para int.
            vetor[i] = rnd; // atribui o valor a cada indice do vetor
        }

        for(int i = 0; i < vetor.length; i++) {
            System.out.println(vetor[i]);
        }

Espero que ajude!

[]'s

é mais ou menos isso, agora gera um novo hashset que não permite números repetidos(caso queira) e passei o vetor como parâmetro

e ao invés do for use um while.

enquanto o tamanho do vetor não chegar a 100 continue adicionando no Hashset, e convertendo para vetor.

[code] public class RandomicosRepetidos {

   public static void main(String[] args){  
   
	   int [] vetor = new int[100];
	   
	   for(int i=0;i<100;i++){
		   vetor[i] = (int) (1+ (Math.random()*100));
	   }
	   for(int i=0;i<100;i++){
		   System.out.println(vetor[i]);
	   }

}
}[/code]

Uma alternativa do Math.random, é a classe Random do pacote java.util , que eu particularmente prefiro

        Random r = new Random();
        int i = r.nextInt(100);

[]s

1 curtida

:smiley: :smiley: :smiley: :smiley: :smiley:

Valeeeeuuuu mesmo gente…fico muito agradecido

é por isso que eu gosto do GUJ… :smiley:

consegui resolver o problema dos números repetidos…se precisar, só que usando ArrayList

[code]import java.util.ArrayList;

public class Randomicos{  
       
   public static void main(String[] args){  
   
	   ArrayList<Integer> lista = new ArrayList<Integer>();
	   
	   while(lista.size() < 100){
		   Integer numeroRandomico = (int) (1+ (Math.random()*100));
		   if(!lista.contains(numeroRandomico)){
		   lista.add(numeroRandomico);
		   }
	   }
		   System.out.println(lista);
	   }

}[/code]

tentei fazer com HashSet, mais ele fica ordenando ai é ruim.

Fiz utilizando a interface Map, com o HashMap. O TreeSet é o que mantém as chaves ordenadas. Não sei pq com o Hash, a maioria dos números ficam ordenados, não são todos.

import java.util.HashSet;
import java.util.Set;

public class NumerosAleatorios {

	public static void main(String[] args) {

		Set<Integer> numeros = new HashSet<Integer>();  
		while (numeros.size() < 100) {  
			numeros.add(1 + (int) (Math.random() * 100));        
		} 

		System.out.println("Números" + numeros);

	}

}

Mais simples:

        ArrayList<Integer> myList = new ArrayList<Integer>();
        for (int i = 1; i <= 100; i++) {
            myList.add(i);
        }
        Collections.shuffle(myList);