7
respostas

TestaContas.java não compila

Consegui compilar a Conta.java com sucesso... Mas não consigo compilar o TestaContas.java Estou tentando compilar via Prompt de commando...

Tentei seguir as instruções para colocar o código devidamente indentado, espero que tenha dado certo...

abaixo seguem os códigos (arquivos separados no mesmo diretório)

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 ContaCorrente 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;
    }
    }
}
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());

    }
}

Abaixo o erro da compilação:


C:\Users\lbsouza\Documents\Estudando Java\Java2>javac TestaContas.java
TestaContas.java:4: error: cannot find symbol
        ContaCorrente cc = new ContaCorrente();
        ^
  symbol:   class ContaCorrente
  location: class TestaContas
TestaContas.java:4: error: cannot find symbol
        ContaCorrente cc = new ContaCorrente();
                               ^
  symbol:   class ContaCorrente
  location: class TestaContas
TestaContas.java:5: error: cannot find symbol
        ContaPoupanca cp = new ContaPoupanca();
        ^
  symbol:   class ContaPoupanca
  location: class TestaContas
TestaContas.java:5: error: cannot find symbol
        ContaPoupanca cp = new ContaPoupanca();
                               ^
  symbol:   class ContaPoupanca
  location: class TestaContas
4 errors

Aguardo sua resposta, obrigado.

7 respostas

Olá Leonardo!

Uma sugestão para melhorar nossa comunicação aqui no fórum de dúvidas: utilize a opção do editor de “Inserir Código”. Segue orientações em um print:

Utilizando essa função do editor a sua postagem aparecerá com uma formatação que ajudará os instrutores a lerem melhor o seu código. Dessa forma, eles podem responder mais rápido a sua dúvida.

Espero que ajude.

Para campliar e rodar, seu código deve ser assim:

public 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 += taxa; }

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

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

        public void deposita(double valor) {
            this.saldo += valor - 0.10;
        }
    }
}
public class TestaContas {
    public static void main(String[] args) {
        Conta c = new Conta();
        Conta.ContaCorrente cc = new Conta.ContaCorrente();
        Conta.ContaPoupanca cp = new Conta.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());

    }
}

Agora consegui compilar os dois códigos, mas na hora de executar no prompt recebo o seguinte erro: Erro: Não foi possível localizar nem carregar a classe principal

Estou revendo as configurações das variáveis de ambiente, já testei algumas configurações que busquei no google mas ainda não consegui... :(

Oi Leonardo,

Pode ser que a sua configuração está correta, pelo terminal vai até a pasta onde estão seus objetos utilizando o comando cd, por exemplo:

cd C:\Users\Leonardo\Desktop\Java

quando você chegar na pasta executa os comandos javac e java para compilar e executar a sua aplicação.

Verifique se você configurou o ambiente certinho dá uma olhada nesse link:

https://cursos.alura.com.br/suggestions/new/prompt/13748/question

Oi LEONARDO BERNARDO DE SOUZA , Se você não tiver mais nenhuma dúvida a respeito desse exercício você pode marcar uma resposta como solução, finalizando assim esse tópico.Espero ter ajudado. Bons estudos

Oi Leonardo dei uma editada no seu post pra poder visualizar o código sempre que for postar código-fonte aqui no fórum, utilize o botão <>INSERIR CÓDIGO e cole no local indicado, ao que parece você nomeu seu arquivo java como contacorrente e contapoupanca e Declarou o nome da classe no ARQUIVO como ContaCorrente e ContaPoupanca.

Espero ter ajudado e bons estudos.