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

Cannot find symbol. Não estou conseguindo resolver esse erro

class Conta{
    //dados da conta = atributos
    Pessoa nome;
    int agencia;
    int conta;
    double saldo;

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

    void saca(double valorASerSacado){
        if(this.saldo >= valorASerSacado){
            this.saldo -= valorASerSacado;
        }
        else
            System.out.println("O valor não está disponível na conta");    
    }

    void tranfere(double valor, Conta destino){
        if(this.saldo >= valor){
            this.saldo -= valor; //this = valor da classe atual 
            destino.saldo += valor;
        }
        else
            System.out.println("O valor não está disponível na conta");    
    }
}

class Pessoa{
    String nome;
    String cpf;
    String dataNascimento;
}

class Programa{

    public static void main(String [] args){
        Conta Pedro = new Conta();

        Pedro.agencia = 0061;
        Pedro.conta = 123;
        Pedro.saldo = 1000;

        //Pedro.titular = new Pessoa(); //variavel que guarda uma pessoa

        Pedro.titular = new Pessoa();
        Pedro.titular.nome = "Pedro Medeiros";
        Pedro.titular.cpf = "123456798";
        Pedro.titular.dataNascimento = "11/11/1997";

        System.out.println(Pedro.titular.nome);

        Pedro.deposita(250);
        Pedro.saca(500);

        Conta Maria = new Conta();

        Maria.agencia = 0061;
        Maria.conta = 1234;
        Maria.saldo = 1000;

        Maria.titular = new Pessoa();
        Maria.titular.nome = "Maria Clara";
        Maria.titular.cpf = "123456789";
        Maria.titular.dataNascimento = "13/06/2010";

        Maria.deposita(250);
        Maria.saca(500);

        Pedro.tranfere(1000, Maria);

        System.out.println(Pedro.saldo);
        System.out.println(Maria.saldo);
    }
}
3 respostas

Oi Pedro,

td bem?

Em que linha que está acontecendo esse erro?

Uma coisa que notei é que você está fugindo da convenção: nomes de variáveis devem começar com letra minúscula no Java. Isso facilita o entendimento do código para outros devs.

Uma alteração simples aqui...

Conta contaPedro = new Conta();

contaPedro.agencia = 0061;
contaPedro.conta = 123;
contaPedro.saldo = 1000;

//Pedro.titular = new Pessoa(); //variavel que guarda uma pessoa

Pessoa pedro  = new Pessoa();
pedro.nome = "Pedro Medeiros";
pedro.cpf = "123456798";
pedro.dataNascimento = "11/11/1997";

contaPedro.titular = pedro;

Olá Fábio, tudo certo!

Obrigado pela dica das letras minúsculas.

O erro ocorre na classe Programa, se vc puder compilar, vai ver que aparece um erro a partir de quando eu instancio uma nova "pessoa" com .titular. Fiz igual ao do professor.

solução!

Oi Pedro,

na classe Conta você não tem um atributo chamado titular. Na verdade lá você tinha colocado com o nome de nome:

class Conta{
    //dados da conta = atributos
    Pessoa nome;
    int agencia;
    int conta;
    double saldo;

Muda para titular que vai funcionar:

class Conta{
    //MUDANÇA AQUI
    Pessoa titular;
    int agencia;
    int conta;
    double saldo;

Abraços