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

Como imprimir list somente com valores especificos?

Tenho uma classe Cofrinho com uma lista de moedas e implementa um metodo para contar a quantidade dessas moedas de um determinado valor:

public class Cofrinho {
    private List<Moeda> moedas = new ArrayList<Moeda>();
        //getter e setter

       public void contarMoedasValor(double valor) {
        int totalMoedas = 0;
        for (Moeda moeda : moedas) {
            if (moeda.getValor() == valor) {
                totalMoedas = totalMoedas++;
                System.out.println("quantidade de moedas de " + valor + ": " + totalMoedas);
            }
        }
    }
}

public class Moeda {
    private double valor;
    private String nome;
       //getter e setter
}

Na classe principal invoco o metodo contarMoedasValor passando 1.0 como parametro

public class Principal {
    public static void main(String[] args) {
        Cofrinho cofre = new Cofrinho();
        cofre.adicionar(new Moeda(1.0, "real"));
        cofre.adicionar(new Moeda(3.3, "dolar"));

        cofre.contarMoedasValor(1.0);
    }

Mas o resultado imprime 0; deveria imprimir 1 pois a moeda real tem valor 1.0. O que falta implementar?

2 respostas
solução!

Filipe

no seu incrementador

totalMoedas = totalMoedas++;

, utilize o seguinte

totalMoedas++;

Obrigado!