Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

duvidas com arrayList

Boa Noite, não estou conseguindo resolver um problema, espero que alguém possa me ajudar,

tenho uma lista de jogos da mega-sena com 6 dezenas faço um laço for para verificar o resultado usando o contains conto a quantidade de true e false então sei se deu quadra, quina ou sena

segue á minha lógica

@GetMapping("/loteria") public String loTeria() {

    List<String> j = new ArrayList<String>();
    List<String> r = new ArrayList<String>();
    List<Object> acerto = new ArrayList<>();
    List<String> dezenas = new ArrayList<>();
    

    List<JogosLoteria> jogo = new ArrayList<>();
    
        JogosLoteria j1 = new JogosLoteria("12","01","03","04","23","28");
        JogosLoteria j2 = new JogosLoteria("01","02","03","04","05","06");
        JogosLoteria j3 = new JogosLoteria("11","02","03","22","05","06");
        
        
        JogosLoteria result = new JogosLoteria("12","01","03","04","05","28");
        
        jogo.add(j1);
        jogo.add(j2);
        jogo.add(j3);
        
      
        
        j.add(j1.getPrimeiraDezena());
        j.add(j1.getSegundaDezena());
        j.add(j1.getTerceiraDezena());
        j.add(j1.getQuartaDezena());
        j.add(j1.getQuintaDezena());
        j.add(j1.getSextaDezena());
        
        
        r.add(result.getPrimeiraDezena());
        r.add(result.getSegundaDezena());
        r.add(result.getTerceiraDezena());
        r.add(result.getQuartaDezena());
        r.add(result.getQuintaDezena());
        r.add(result.getSextaDezena());
        
        
        for(int i = 0; i <= 5; i++) {
            
            
            
            boolean vf = j.get(i).contains(r.get(i));               ... lógica para verificar dezenas...
            
            
            System.out.println("dezenas "+ j.get(i) + " r.get(i) "+ r.get(i));
            
            if(vf != false) {
                
                acerto.add(vf);
            }
            
        }//fim for
            System.out.println("minhas dezenas! "+acerto.size());

    return "produto/loteria";
}

resultado apenas do 1° jogo dezenas 12 r.get(i) 12 dezenas 01 r.get(i) 01 dezenas 03 r.get(i) 03 dezenas 04 r.get(i) 04 dezenas 23 r.get(i) 05 dezenas 28 r.get(i) 28 minhas dezenas! 5

3 respostas
solução!

Olá, Osmar! Tudo bem?

Pelo que entendi, você está tentando comparar os resultados de um jogo da Mega-Sena com os números que você jogou, certo? Acredito que o problema esteja na lógica que você está usando para verificar os acertos.

Na linha onde você faz boolean vf = j.get(i).contains(r.get(i));, você está verificando se a dezena i do resultado está contida na dezena i do seu jogo. Mas o que você quer na verdade é verificar se a dezena i do resultado está contida no conjunto total de dezenas do seu jogo, não apenas na dezena i.

Uma sugestão seria você fazer algo assim:

for(String dezena : r) {
    if(j.contains(dezena)) {
        acerto.add(dezena);
    }
}

Nesse caso, para cada dezena do resultado (r), você verifica se essa dezena está contida no conjunto total de dezenas do seu jogo (j). Se estiver, você adiciona essa dezena na lista de acertos.

Espero ter entendido a sua dúvida e ter conseguido te ajudar a resolver o problema. Se ainda tiver dúvidas, por favor, não hesite em perguntar.

Espero ter ajudado e bons estudos!

Bom dia, vou tentar.

Renan, obrigado pela a ajuda deu certo, o problema é que são vários jogos para verificar e além disso criei uma classe onde todas as dezenas estão separadas, assim: private String primeiradezena, segundadezena... acho que é esse o problema, valeu.