Métodos em Classes e Objectos

2 respostas
J

Boa tarde.

Estou iniciando o estudo da programação orientada ao objectos.

Tenho um problema com uma classe Conta onde criei as definições e criei também um método de retirar valores e outro de depositar valor retornando um valor booleano, garantindo que que tenho saldo com a condição if quer no retirar quer no depositar.

Segue o código da classe Conta e o programa que irá aplicar alguns métodos (retirar e depositar para obter um novo saldo)

class Conta {

	int numero;
	String dono;
	double saldo;
	double limite;

	// método retirar valor -> saca
	
	boolean saca(double valor) {
	if (this.saldo < valor) {
	return false;
	} else {
	this.saldo = this.saldo - valor;
	return true;
	}
	
	// método depositar valor -> deposita
	
	boolean deposita(double valor) {
	if (this.saldo < valor) {
	return false;
	} else {
	this.saldo = this.saldo + valor;
	return true;
	}

}

No meu programa principal TestaAlgunsMetodos indiquei que alterava o nome do dono e do saldo e depois aplicava os métodos saca e deposita conforme o código:

class TestaAlgunsMetodos {
	public static void main(String[] args) {
	
	Conta minhaConta;
	minhaConta = new Conta();
	
	// alterando os valores da minhaConta
	minhaConta.dono = "Duke";
	minhaConta.saldo = 2000;
	
	// retirar 200 Euros
	minhaConta.saca = 200;
	
	// depositar 500 Euros
	minhaConta.deposita(500);
	
	System.out.println(minhaConta.saldo);
	
}
}

Esperava o retorno do novo saldo mas em vez disso recebo os erros ainda durante a compilação da classe Conta.

conta.java:20: ';' expected
boolean deposita(double valor) {
^
conta.java:20: ';' expected
boolean deposita(double valor) {
^
conta.java:28: reached end of file while parsing
}
^
3 errors

=======

Depois de várias tentativas de compreensão do erro e não conseguindo recorri ao forum.

Obrigado antecipadamente pela ajuda.....

Abraço

2 Respostas

ViniGodoy

Corrija sua indentação, e você verá que tem } faltando.

jLady

Olá, estavam faltando chaves no seu código…

veja o codigo corrigido:

class Conta {

    int numero;
    String dono;
    double saldo;
    double limite;

    // método retirar valor -> saca

    boolean saca(double valor) {
    	if (this.saldo < valor) {
    			return false;
    	} else {
    			this.saldo = this.saldo - valor;
    			return true;
    	}
    }

    // método depositar valor -> deposita

    boolean deposita(double valor) {
    	if (this.saldo < valor) {
    			return false;
    	} else {
    		this.saldo = this.saldo + valor;
    		return true;
    	}
    }

}

Teste e me diga se isso resolveu…

Qualquer coisa poste novamente!

:wink:

Criado 1 de novembro de 2010
Ultima resposta 1 de nov. de 2010
Respostas 2
Participantes 3