Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida com ArrayList!

Eu estou fazendo um sistema de eleição básico, mas estou com um problema em dizer qual candidato foi eleito. No caso, eu adicionei três candidatos(x, y, z) numa ArrayList, coloquei dois votos no x, três no y e quatro no z, quando quero saber qual foi o que ganhou(no caso o que obteve mais votos) ele imprime todos os 3 candidatos.

    public void eleitoPresidente() {
        int maior = 0;
        for (Candidato e: candidato) {
            if(e.votos > maior) {
                maior = e.votos;
                System.out.println("O presidente eleito é: " + e.nome);
            }
        }
    }

Quero que ele imprima somente o candidato com o maior número de votos. Agradeço desde já. Qualquer coisa é só perguntar :)

1 resposta
solução!

Eu já consegui. Era só fazer isso:

public String eleitoPresidente() {
        int maior = 0;
        String nome = "";
        for (Candidato e: candidato) {
            if( e instanceof Presidente) {
                if(e.votos > maior) {
                    maior = e.votos;
                    nome = e.nome;
                }
            }
        }
        return nome;
    }

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