Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Pessoa@15db9742

Criei um programa conta mas não consigo imprimir o Nome do titular aparece um erro" O nome do titular da conta é aula3.Pessoa@15db9742" Classe Aula3

public class Aula3 {


    public static void main(String[] args) {
       Conta mauricio = new Conta();
       mauricio.setNumero(1000);
       mauricio.setAgencia(1930);
       Pessoa p1 = new Pessoa("Raphael", "123");
       mauricio.setTitular(p1);
       mauricio.setSaldo(1234);
       mauricio.deposita(100);
       mauricio.saca(200);

        System.out.println("O nome do titular da conta é " + mauricio.getTitular());
    }

}

Classe Pessoa

public class Pessoa {
    private String nome;
    private String cpf;
    private String datanascimento;
    private String titular;

    public Pessoa(String nome, String cpf) {
        this.nome = nome;
        this.cpf = cpf;
    }

    public Pessoa(){

    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getTitular() {
        return titular;
    }

    public void setTitular(String titular) {
        this.titular = titular;
    }


}

Classe conta

public class Conta {

    private int numero;
    private Pessoa titular;
    private double saldo;
    private int agencia;

    public Conta(){


    }



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

    void saca(double valor) {
        if (this.saldo < valor) {
            System.out.println("Saldo Indisponivel");

        } else {
            this.saldo -= valor;
        }

    }

    void transfere(double valor, Conta destino) {
        this.saldo -= valor;
        destino.saldo += valor;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public Pessoa getTitular() {
        return titular;
    }

    public void setTitular(Pessoa titular) {
        this.titular = titular;
    }

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }

    public int getAgencia() {
        return agencia;
    }

    public void setAgencia(int agencia) {
        this.agencia = agencia;
    }

}
1 resposta
solução!

Fala aí, Raphael! Tudo certo, cara?

Vou colocar o código dentro do seu main aqui, só para darmos uma olhada no que está acontecendo, ok?

Conta mauricio = new Conta();
mauricio.setNumero(1000);
mauricio.setAgencia(1930);

Pessoa p1 = new Pessoa("Raphael", "123");

mauricio.setTitular(p1);
mauricio.setSaldo(1234);
mauricio.deposita(100);
mauricio.saca(200);

System.out.println("O nome do titular da conta é " + mauricio.getTitular());

Inicialmente, repare que a primeira coisa que você faz é instanciar um objeto do tipo Conta, que você chamou de mauricio, certo?

Em seguida, você definiu um número e uma agência para esse objeto, através dos métodos set()... =)

Após essas definições, você criou um objeto do tipo Pessoa, chamado de p1, passando como parâmetros do construtos, Raphael e 123, ou seja, essa Pessoa possui nome Raphael e CPF 123... Beleza até aqui? =)

Por fim, você chama mais alguns métodos set(), para definir quem é o titular dessa conta e fazer algumas transações...

Dito isso, quando você chama mauricio.getTitular() dentro do seu System.out.println(), você está buscando o objeto Pessoa, que foi definido previamente, ou seja, você está obtendo como retorno o p1... E por que o nome (Raphael) não está sendo impresso? Isso se deve ao fato de que você está mandando o código imprimir para você o objeto, não o atributo nome dele, sacou? =D

Para resolver esse "problema", você pode tentar fazer o seguinte:

System.out.println("O nome do titular da conta é " + mauricio.getTitular().getNome());

Belezinha, cara? =D

Você pode testar esse código e nos dizer se resolve? Qualquer dúvida que possa ter restado, não deixe de perguntar aqui, no fórum, para que possamos continuar ajudando-o até resolver isso, ok? =)

Abraço e bons estudos,

Fábio

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