Como gerar sorteio de números sem repetição em Java
Sorteios são comuns em aplicações de jogos, competições ou até mesmo para criar testes em desenvolvimento. Vamos aprender a fazer um sorteio de números aleatórios sem repetição em Java. Este tutorial aprenda como gerar sorteio de números sem repetição em Java.
Passo 1: Importar bibliotecas necessárias
Primeiro, importe a classe Random e a estrutura Set, que vamos usar para manter o controle dos números sorteados.
import java.util.Random;
import java.util.Set;
import java.util.HashSet;
Passo 2: Configurar o sorteio sem repetição
Para criar uma lista de números aleatórios, defina a quantidade máxima de números e crie um conjunto (Set) que impedirá números duplicados.
public class SorteioSemRepeticao {
public static void main(String[] args) {
Random random = new Random();
Set<Integer> numerosSorteados = new HashSet<>();
int quantidadeNumeros = 10; // número de valores a serem sorteados
int limiteMaximo = 50; // limite superior do intervalo de números
while (numerosSorteados.size() < quantidadeNumeros) {
int numero = random.nextInt(limiteMaximo) + 1; // gera número entre 1 e limiteMaximo
numerosSorteados.add(numero);
}
System.out.println("Números sorteados: " + numerosSorteados);
}
}
Explicação do código
- Random.nextInt(): Gera um número aleatório entre
0elimiteMaximo - 1. Ao somar+ 1, o intervalo é ajustado para1atélimiteMaximo. - HashSet: O
Setnão permite valores duplicados. Assim, caso um número já sorteado seja gerado novamente, ele será automaticamente ignorado. - Loop While: A execução continua até que o conjunto (
Set) contenha a quantidade de números desejada, evitando repetições.
Outro exemplo prático
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
public class SorteioNumeros {
public static void main(String[] args) {
Random r = new Random();
Set<Integer> numeros = new TreeSet<Integer>();
//Sorteia 50 números de 0 até 100 sem repetição
while (numeros.size() < 50) {
numeros.add(r.nextInt(101));
}
System.out.println("Números gerados: " + numeros);
}
}
Explicação:
Set: Interface que define uma coleção, ou conjunto, que não contém duplicatas de objetos. Isto é, são ignoradas as adições caso o objeto ou um objeto equivalente já exista na coleção;
TreeSet: Utiliza-se de uma árvore Binária para alinhar os elementos.
Com esse método, você consegue facilmente sortear números sem repetição, mantendo o desempenho e a simplicidade do código. É uma ótima abordagem para realizar sorteios em que a repetição não é permitida.
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Saiba que isso pode estar te fazendo perder dinheiro — seja com manutenção cara ou oportunidades que você está deixando passar.
Com o Super Técnico 2.0, você aprende na prática como diagnosticar defeitos, montar computadores do zero e fazer upgrades que realmente aumentam o desempenho, mesmo que você esteja começando do absoluto zero.
Você pode usar esse conhecimento para:
✔ Resolver seus próprios problemas sem depender de ninguém ✔ Ganhar dinheiro com manutenção e suporte técnico ✔ Ou até entrar de vez no mercado de TI
Tudo com aulas diretas ao ponto, sem enrolação e focadas no que realmente funciona no dia a dia.
👉 CLIQUE AQUI AGORA e veja todos os detalhes antes que essa oportunidade passe:
Sobre o Autor


0 Comentários