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
A verdade é que continuar sem esse conhecimento pode estar custando muito mais do que você imagina.
Você pode economizar centenas ou até milhares de reais ao longo do tempo fazendo você mesmo a manutenção dos seus computadores. E, se decidir prestar serviços, esse conhecimento também pode se transformar em uma fonte de renda, que pode variar de R$2.000 a R$5.000 por mês ou mais.
Tudo isso com aulas práticas, objetivas e focadas no que realmente funciona, sem enrolação:
✔ 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
A decisão é sua: continuar gastando dinheiro sempre que o computador apresentar um problema ou aprender uma habilidade que pode fazer você economizar e até gerar uma nova fonte de renda.
👉 CLIQUE AQUI AGORA e veja todos os detalhes antes que essa oportunidade passe:
Sobre o Autor

0 Comentários