Métodos em Classes e Objectos

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)

[code]
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;
}

}[/code]

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:

[code]
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);

}
}[/code]

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

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

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: