+ está somando ao invés de concatenar;

Java

25/09/2017

]Oi Pessoal, tudo bem ? To iniciando os estudos de POO e to resolvendo um exercicio aqui de java da faculdade, porém to enfrentando um problema que realmente não sei como solucioná-lo. Estou usando IDE Eclipse.

Tenho 2 sysout na minha classe executavel, quero imprimir o consumo de cada eletrodomestico, primeiro mensal, e depois o consumo em 10 dias, porem ele ta somando
todos os consumos e não imprimindo cada um concatenado pelo +.

System.out.println("O Consumo mensal da geladeira, fogão,lavadora,lavalouças e microondas é " +
df.format(geladeira.calculaconsumo() + fogao.calculaconsumo() + lavadora.calculaconsumo()
+ lavalouca.calculaconsumo() + microondas.calculaconsumo()));




System.out.println("O Consumo de 10 dias da geladeira,fogao,lavadora,lavaloucas e microondas é "
+ df.format(geladeira.calculaconsumo(10) + fogao.calculaconsumo(10) + lavadora.calculaconsumo(10)
+ lavalouca.calculaconsumo(10) + microondas.calculaconsumo(10)));

O Consumo mensal da geladeira, fogão,lavadora,lavalouças e microondas é 3900,00
O Consumo de 10 dias da geladeira,fogao,lavadora,lavaloucas e microondas é 1300,00
Pedro Verani

Pedro Verani

Curtidas 0

Melhor post

Leandro Chiodini

Leandro Chiodini

25/09/2017

Acho que nao precisa desse format, e teus metodos devem estar retornando numeros, se possivel convert eles para string.
GOSTEI 1

Mais Respostas

Leandro Chiodini

Leandro Chiodini

25/09/2017

Boa tarde pedro,

O Consumo mensal da geladeira, fogão,lavadora,lavalouças e microondas é 3900,00

é da forma que ta saindo pra você agora, e voê gostaria que fosse para cada eletrodomestico?
ou voce gostaria que estivesse assim.

Porem esta saindo de outra forma.
se puderes colocar como esta saindo e como voce gostaria para te ajudar.

Pois pelo que to vendo ali, tudo gira em torno da informação vinda das classes, qual tipo de dados que vem de cada classe?
GOSTEI 0
Pedro Verani

Pedro Verani

25/09/2017

Opa, eaí, então, eu queria que saisse o consumo de cada eletrodomestico, daí por isso eu tentei concatenar cada um deles ali no meu sysout, e eu coloquei valores diferentes pra cada eletrodomestico na hora de instancear os objetos, justamente pra vir o consumo de cada um isolado, mas realmente ele tá somando ali.

está saindo assim :

O Consumo mensal da geladeira, fogão,lavadora,lavalouças e microondas é 3900,00
O Consumo de 10 dias da geladeira,fogao,lavadora,lavaloucas e microondas é 1300,00

O que estou tentando fazer seria algo do tipo :
O Consumo mensal da geladeira, fogão,lavadora,lavalouças e microondas é 39,45,22,25
O Consumo de 10 dias da geladeira,fogao,lavadora,lavaloucas e microondas é 13, 15, 7, 8.

usei os valores só pra exemplo
GOSTEI 0
Leandro Chiodini

Leandro Chiodini

25/09/2017

Tenta fazer o seguinte

System.out.println("O Consumo mensal da geladeira, fogão,lavadora,lavalouças e microondas é " +
df.format(geladeira.calculaconsumo() + "," + fogao.calculaconsumo() + "," + lavadora.calculaconsumo()
+ "," + lavalouca.calculaconsumo() + "," + microondas.calculaconsumo()));
GOSTEI 0
Pedro Verani

Pedro Verani

25/09/2017

tentei fazer isso agora, dai rolou algo esquisito, Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Number
at java.text.DecimalFormat.format(Unknown Source)
at java.text.Format.format(Unknown Source)
at listafácil2.Cozinha.main(Cozinha.java:19)
GOSTEI 0
Pedro Verani

Pedro Verani

25/09/2017

Tirei o df format e imprimiu certo, valeu aí.
GOSTEI 0
POSTAR