Mobile App Development · Dart/Flutter

16 · Desafio Mega Sena — Desafios

Monte a função completa de simulação do sorteio, isolada em realizarSorteioMegaSena() e chamada a partir de main().

Desafio 1

Desafio_MegaSena.dart

Simula um sorteio da Mega Sena gerando 6 números inteiros e únicos entre 1 e 60. Usa Random().nextInt(60) + 1 para sortear inteiros diretamente no intervalo [1, 60], e guarda o resultado em um Set<int> — como um Set não aceita valores repetidos, o próprio laço while garante que nenhum número saia duas vezes, sem precisar checar manualmente.

// Desafio: simular um sorteio da Mega-Sena gerando 6 números inteiros e únicos entre 1 e 60.
// Usa um Set<int> para descartar repetições e Random().nextInt() para sortear inteiros direto.
import 'dart:math';

void realizarSorteioMegaSena() {
  print('Bem-vindo(a) à Simulação da Mega Sena!');

  final Random random = Random();
  // Set garante que nenhum número sorteado se repita.
  final Set<int> numerosSorteados = {};

  // Continua sorteando até ter 6 números únicos no conjunto.
  while (numerosSorteados.length < 6) {
    // nextInt(60) retorna um inteiro em [0, 60); + 1 mapeia para [1, 60].
    final int numeroSorteado = random.nextInt(60) + 1;
    numerosSorteados.add(numeroSorteado);
  }

  // Converte para lista para poder ordenar em ordem crescente.
  final List<int> resultado = numerosSorteados.toList()..sort();

  // Exibe os 6 números separados por vírgula.
  print('Números sorteados: ${resultado.join(', ')}');
}

void main() {
  realizarSorteioMegaSena();
}

Saída esperada

Exemplo de saída (os números são inteiros, únicos e variam a cada execução):

Bem-vindo(a) à Simulação da Mega Sena!
Números sorteados: 3, 23, 25, 40, 45, 51

Como executar

dart run 16-Desafio_MegaSena/03_Desafios/codigo_fonte/Desafio_MegaSena.dart