2
respostas

Erro ao compilar - error: class, interface, or enum expected

Pessoal, Estou com o seguinte erro ao compilar...

machadcr@MACHADCR15:~/Alura$ javac Conta.java
Conta.java:1: error: class, interface, or enum expected
Class Conta {
^
Conta.java:4: error: class, interface, or enum expected
        public double getSaldo(){
               ^
Conta.java:6: error: class, interface, or enum expected
        }
        ^
Conta.java:8: error: class, interface, or enum expected
        public void deposita(double valor){
               ^
Conta.java:10: error: class, interface, or enum expected
        }
        ^
Conta.java:12: error: class, interface, or enum expected
        public void saca(double valor){
               ^
Conta.java:14: error: class, interface, or enum expected
        }
        ^
Conta.java:16: error: class, interface, or enum expected
        public void atualiza(double taxa){
               ^
Conta.java:18: error: class, interface, or enum expected
        }
        ^
Conta.java:38: error: class, interface, or enum expected
}
^
10 errors

Como está minha classe...

Class Conta {
    protected double saldo;

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

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

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

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


    class ContaCorrete extends Conta{
        public void atualiza(double taxa){
            this.saldo+= this.saldo*taxa*2;
        }
    }

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

        public void deposita(double valor){
            this.saldo+=valor-0.10;
        }
    }
}
2 respostas

Oi Cristiane, tudo bem?

Cada uma das classes que você criou podem ficar separadas uma da outra.

Neste momento ContaCorrente e ContaPoupanca estão dentro das chaves da classe Conta. O que você pode fazer é mover a última chave do arquivo para antes da criação da ContaCorrente.

Um outro detalhe, é que a palavra class tem que estar toda em letras minúsculas.

Tudo fica assim:

class Conta {
    protected double saldo;

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

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

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

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

class ContaCorrete extends Conta{
    public void atualiza(double taxa){
        this.saldo+= this.saldo*taxa*2;
    }
}

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

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

Testa é vê se funciona? Abraços!

Funcionou sim! Obrigada pela ajuda!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software