Problemas com loop while

1 resposta
javamobile
MisterPompo

Olá pessoal, tudo bem?

Eu estou desenvolvendo um App para android em que se compara apostas e resultados (números). No método de comparação eu uso 2 loops whiles para que compare cada item da ArrayList “aposta” com cada um da matriz “resultado”. Após a comparação, o método atribui os erros e acertos às ArrayList’s “erros” e “acertos”. Porém, existem dois problemas. Primeiro: os números errado serão atribuídos repetidamente a ArrayList erro, o que eu já imaginava que aconteceria; Segundo: há algum problema no código que eu ainda não consegui identificar, que faz com que os números corretos entrem na ArrayList erros. Preciso de ajuda pra resolver o segundo, e se possível alguma sugestão de código para resolver o primeiro. Vou deixar as imagens com o código e a saída.

Todos os valores são String, tanto a aposta quando o resultado.Nesse caso, os números da aposta são: 04, 05, 06, 07, 08 e 09; E os da aposta são os “Números sorteados” da segunda imagem.

1 Resposta

Marcus_Gp

Amigo, uma forma mais simples e mais simplificada para fazer essa comparação. Abraço.

public static void comparando() {

String[] resultado = {"04", "06", "18", "36", "44", "45"};
    List<String> aposta = new ArrayList<String>(Arrays.asList("04", "08", "15", "36", "44", "45"));
    List<String> acertos = new ArrayList<String>();
    List<String> erros = new ArrayList<String>(aposta);

    for(int i = 0; i < resultado.length; i++) {
        if(aposta.contains(resultado[i])) {
            acertos.add(resultado[i]);
            erros.remove(resultado[i]);
        }
    }

    System.out.println(acertos);
    System.out.println(erros);
    System.out.println("Número de acertos = " + acertos.size());
}
Criado 28 de julho de 2016
Ultima resposta 28 de jul. de 2016
Respostas 1
Participantes 2