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

Erro no printf - Exercício 4; Aula 4

Olá, Estou tendo um problema com a saída do código printf(... %.2f...) O código:

public class TesteGerenciadorDeImpostoDeRenda {

    public static void main(String[] args) {
        GerenciadorDeImpostoDeRenda gerenciador = new GerenciadorDeImpostoDeRenda();
        //SeguroDeVida sv = new SeguroDeVida();
        ContaCorrente cc = new ContaCorrente();

        cc.deposita(1000);
        //gerenciador.adiciona(sv);
        gerenciador.adiciona(cc);

        System.out.println(gerenciador.getTotal());
        System.out.printf("Seu saldo é de: %.2f " + cc.getSaldo());

    }

}

O código está compilando e o Eclipse não está acusando erros. Porém a saída do programa está assim:

Adicionando tributavel ContaCorrente@15db9742

10.0

Seu saldo é de: Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%.2f' at java.util.Formatter.format(Unknown Source) at java.io.PrintStream.format(Unknown Source) at java.io.PrintStream.printf(Unknown Source) at TesteGerenciadorDeImpostoDeRenda.main(TesteGerenciadorDeImpostoDeRenda.java:14)

Não consegui identificar onde está o erro. Alguém poderia me ajudar? Obrigado,

2 respostas
solução!

E aí, Lucas! Belezinha? =)

Se não me engano, o printf() espera que você passe dois argumentos, a String, e o valor que você quer substituir na formatação... Da forma como você está fazendo, você está concatenando a String com o valor (cc.getSaldo())... Tente alterar para o seguinte:

System.out.printf("Seu saldo é de %.2f", cc.getSaldo());

Repare na vírgula no lugar do sinal de adição.

Espero ter ajudado, mas qualquer coisa não hesite em postar aqui para que possamos ajudá-lo! =D

Abraço e bons estudos,

Fábio

Me ajudou também. obrigado

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