3
respostas

sorteio da loteria

boa tarde, no desafio final do curso de java para iniciante, precisava fazer uma loteria e sortear 6 números, meu problema foi q em algumas vezes o java sorteava dois números iguais, tipo [1,5,9,22,5,8]. Dai já dava o bugzinho. escrevi o cod abaixo para tentar resolver, mas o q ele faz eh parar de sortear quando duplica um numero.

function sorteio (tentativas){ sorteado = [] for (i = 0; i < tentativas; i++) { sorteando = parseInt(Math.random()*60); for (k = 0; k < sorteado.length + 1; k++){ if (sorteando == sorteado[k]) {return} } sorteado.push(sorteando); console.log(sorteado); } return sorteado; }

alguém pode me ajudar a resolver esse probleminha?

3 respostas

consegui, segue cod abaixo:

function sorteio (tentativas){
        sorteado = []
        for (i = 0; sorteado.length < tentativas; i++) {
            sorteando = parseInt(Math.random()*60);
            for (k = 0; k < 6; k++){
                if (sorteando == sorteado[k]) {
                    break;
                }else{
                    sorteado.push(sorteando)
                    console.log(sorteado);
                    break;
                }
            }
        }    
        return sorteado;
    }

O cod q postei acima ainda tem furos na verificação de números repetidos, consegui consertar no cod abaixo, agora ele verifica todos os números antes de registrar, antes verificava 1 e registrava, verificava outro e registrava, dessa forma tinha brechas e continuava registrando números repetidos.

Eu uso a variável "tentativas" = 6 só que não aparece aqui. Dessa forma, se eu quiser mudar o numero de jogadas para 4, por exemplo, eu só mudo uma variável.

function sorteio (tentativas){
        sorteado = []
        for (i = 0; sorteado.length < tentativas; i++) {
            sorteando = parseInt((Math.random()*59)+1);
            for (k = 0; k < tentativas; k++){
                duplicado = []
                if (sorteando == sorteado[k]) {
                    break;
                }else{
                    duplicado[k] = sorteando
                }
            }

            if (duplicado.length == tentativas)
            {sorteado.push(sorteando)
            console.log(sorteado);}    

        }
        return sorteado;
    }

Julio seus problemas foram resolvidos por você mesmo ? qual seria sua dúvida ? Não consegui entende-la muito bem.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software