a
Porque a classe Dinheiro
possui um método getDinheiro()
?
Instâncias dela já são o dinheiro em si.
Esse método poderia se chamar getValor()
.
Dinheiro não é um tipo primitivo numérico, então não dá pra você usar o operador +=
.
Você tem que criar um novo objeto Dinheiro
cujo valor é a soma do valor do saldo
e o valor do dinheiro
recebido por parâmetro.
public void deposita(Dinheiro dinheiro) {
saldo = new Dinheiro(saldo.getDinheiro() + dinheiro.getDinheiro()):
}
public class Dinheiro {
private double dinheiro;
public Dinheiro(double dinheiro) {
this.dinheiro = dinheiro;
}
public double getDinheiro() {
return dinheiro;
}
public void setDinheiro(double dinheiro) {
this.dinheiro = dinheiro;
}
public double converteParaDolar() {
return dinheiro / (3.20);
}
public double converteParaEuro() {
return dinheiro / (4.10);
}
public void exibeDados() {
System.out.println(this.dinheiro);
System.out.println(converteParaDolar());
System.out.println(converteParaEuro());
}
public void deposita(double valor) {
dinheiro+= valor;
}
}Texto pré-formatado
identar texto pré-formatado por 4 espaços
public class Teste
{
public static void main(String[] args)
{
Dinheiro dinheiro = new Dinheiro(200);
Banco banco = new Banco(dinheiro);
System.out.println(""+banco.toString());
dinheiro.deposita(200);
System.out.println(""+dinheiro.getDinheiro());
}
}
Outra solução seria criar o metódo deposita() na class Dinheiro, depois chamarias sempre que precisares depositar!!