Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Java e Orientação Objetos! Help!

Os valores deveria ser diferentes conforme as regras que foram colocadas, mas infelizmente meu código não está funcionando.. É indicado erro de identificador no deposito saldo e getBonus()

Alguem pode me ajudar?

public class Conta {
    private String nome;
    private double salario;
    protected double saldo;

    public void getSaldo(){
        return this.saldo;
    }

    public void deposita(double){
        if (valor > 0 ){
            this.saldo += valor;
    }}


    public void saca(double){
        if (valor > 0 ){
            this.saldo -= valor;
    }}

    public void atualiza(double taxa){
        if (valor > 0 ){
        this.saldo += this.saldo * taxa;
    }}


    public void setSalario(double salario){
        this.salario = salario;
    }

    public void double getBonus() {
        return this.salario * 0.2;
    }

        class  ContaCorrente extends Conta{

        public void atualiza(double taxa){
            if (valor > 0 ){
            this.saldo += this.saldo * taxa * taxa;
        }}

    }

        class  ContaPoupanca extends Conta{
        public void atualiza(double taxa){
            if (valor > 0 ){
            this.saldo += this.saldo * taxa * taxa * taxa;
        }}

        public void deposita(double){
            if (valor > 0 ){
            this.saldo += valor - 0.10;
    }}


    }



}


public class TestaContas {
            public static void main(String[] args) {
                Conta c = new Conta();
                ContaCorrente cc = new ContaCorrente();
                ContaPoupanca cp = new ContaPoupanca();

                c.deposita(1000); 
                cc.deposita(1000); 
                cp.deposita(1000);

                c.atualiza(0.01);
                cc.atualiza(0.01);
                cp.atualiza(0.01);

                System.out.println(c.getSaldo());
                System.out.println(cc.getSaldo());
                System.out.println(cp.getSaldo());

            }
        }
5 respostas

Quando tu dá um return o método não pode ser void, ele tem que retorna o tipo de dado correto. Nesse caso, o getBonus tem que retornar double.

Seria:

`public double getSaldo(){ return this.saldo; }

public void deposita(double valor){ if (valor > 0 ){ this.saldo += valor; }} `

Entendeu Arnon?

Sim Cristiano. Isso eu fiz mais pra frente, mas agora ele me diz que não é possivel achar o symbol dos que tem taxa

Exemplo:

    public void atualiza(double taxa){
        if(valor > 0 ){
        this.saldo += this.saldo * taxa;
    }}

N foi preciso criar uma variavel "valor" mas "taxa" é preciso? É isso?

solução!

Aonde está a declaração da tua variável valor? Se ela não estiver na classe, tem que ser referenciada. Cola aqui o código de toda a tua classe e o erro exato que está ocorrendo.

Ficou faltando

    protected double taxa;
    protected double valor;