Porque o método não quer funcionar?

5 respostas
K

Porque o método TransferePara não quer funcionar:

package OO;

public class Conta {

	double saldo;
	double limite;
	int numero;
	Cliente titular;

	void mostraInfosDaConta() {

		System.out.println("Informações da Conta: ");
		System.out.println("Saldo: " + this.saldo);
		System.out.println("Limite: " + this.limite);
		System.out.println();

	}

	void saque(double valor) {

		this.saldo -= valor;

	}

	void deposita(double valor) {

		this.saldo += valor;
	}

	void transferePara(Conta destino, double valor) {

		this.saque(valor);
		this.deposita(valor);

	}

}
package OO;

public class Cliente {

	String nome;
	String cpf;

	String mostra() {

		System.out.println("Nome: " + this.nome);
		System.out.println("CPF: " + this.cpf);

		return "";

	}

}
package OO;

public class Teste {

	public static void main(String[] args) {

		Conta conta1 = new Conta();
		Cliente c1 = new Cliente();
		conta1.titular = c1;

		c1.nome = "Gabriel";
		c1.cpf = "123.456.789";
		conta1.saldo = 1000;
		conta1.limite = 2000;

		// Métodos
		c1.mostra();
		conta1.mostraInfosDaConta();

		Conta conta2 = new Conta();
		Cliente c2 = new Cliente();
		conta2.titular = c2;

		c2.nome = "Maria";
		c2.cpf = "456.789.123";
		conta2.saldo = 1000;
		conta2.limite = 2000;

		// Métodos
		conta2.transferePara(conta1, 1000);
		c2.mostra();
		conta2.mostraInfosDaConta();

		
		
	}

}

O código da gambiarrado,mas já tentei usas o método transfere da apostila da caelum,e esse dai
mas mesmo assim não quer funcionar.
Se alguem puder me ajudar dar uma arrumada nesse código ficarei grato.

5 Respostas

Demys_Cota
void transferePara(Conta destino, double valor) {  

    this.saque(valor);  
    this.deposita(valor);  

}

vc está sacando é depositando ao mesmo tendo
no saque vc retirar o valor do saldo e depois repõem o mesmo valor.

kcobainnn

Acho que esse método da classe Conta, ao invés de:

void transferePara(Conta destino, double valor) {  
  
        this.saque(valor);  
        this.deposita(valor);  
  
    }

Deveria ser:

void transferePara(Conta destino, double valor) {  
        this.saque(valor);  
        destino.deposita(valor);  
}

Não?

[]'s

Demys_Cota

void transferePara(Conta destino, double valor) {

this.saque(valor);  
    this.deposita(valor);  

} 

vc tem que usar a conta destino no método depositar deposita(destino, valor)
e inserir
Demys_Cota

o kcobainnn está certo!

K

kcobainnn:
Acho que esse método da classe Conta, ao invés de:

void transferePara(Conta destino, double valor) {  
  
        this.saque(valor);  
        this.deposita(valor);  
  
    }

Deveria ser:

void transferePara(Conta destino, double valor) {  
        this.saque(valor);  
        destino.deposita(valor);  
}

Não?

[]'s

kkk era fácil de mais vlw

Criado 6 de abril de 2013
Ultima resposta 6 de abr. de 2013
Respostas 5
Participantes 3