2
respostas

[Projeto] Spoiler de Construtor e toString

Conta com Método toString

public class Conta {
    private int agencia;
    private int numero;
    private float saldo = 0.0f;
    private Cliente titular;

    public int getAgencia() {
        return this.agencia;
    }

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

    public int getNumero() {
        return this.numero;
    }

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

    public Cliente getTitular() {
        return this.titular;
    }

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

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

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

    boolean saca(float valor) {
        if (valor > this.saldo)
            return false;
        this.saldo -= valor;
        return true;
    }

    boolean transfere(float valor, Conta destinatario) {
        if (this.saca(valor)) {
            destinatario.deposita(valor);
            return true;
        }
        else
            return false;
    }

    public String toString() {
        return "Titular: " + this.titular.getNome() +
                "\nAgencia: " + this.agencia +
                "\nConta:" + this.numero +
                "\nSaldo:" + String.format("%.2f",this.saldo);
    }
}

Cliente com Método Construtor

package aula02_oo;

import java.text.DateFormat;

public class Cliente {
    private String nome;
    private String cpf;
    private String profissao;

    public String getNome() {
        return this.nome;
    }

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

    public String getCpf() {
        return this.cpf;
    }

    public boolean setCPF(String cpf) {
        if(cpf.isEmpty())
            return false;

        if(cpf.length() != 11)
            return false;

        if(cpf.split("[0123456789]*").length > 1)
            return false;

        this.cpf = cpf;
        return true;
    }

    public String getProfissao() {
        return this.profissao;
    }

    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }

    Cliente(String nome, String cpf, String profissao) {
        this.nome = nome;
        this.profissao = profissao;
        if(!this.setCPF(cpf))
            System.out.println("CPF INVALIDO\n\n");;
    }
}

Main

public class CriaConta {
    public static void main(String[] args) {
        Conta conta1 = new Conta();
        conta1.setAgencia(1111);
        conta1.setNumero(12345678);
        conta1.setTitular(new Cliente("Fulano", "12345678910", "Aluno Oracle"));
        conta1.deposita(1200.32f);
        conta1.saca(189.90f);

        Conta conta2 = new Conta();
        conta2.setAgencia(1234);
        conta2.setNumero(1111111);
        conta2.setTitular(conta1.getTitular());

        conta1.transfere(1000, conta2);

        conta2.transfere(2000, conta1);

        System.out.println(conta1.toString()+"\n\n");
        System.out.println(conta2.toString());
    }
}
2 respostas

Muito bom Rodrigo :)

Top Rodrigo! Vamos pra cima!!

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