1
resposta

Compartilhando Código:

/**
 * Classe Conta;
 * 
 * @author Pablo; Aqui temos uma especificação de atributos que seram usados em
 *         Conta; A classe Conta é apenas uma instancia que serve de modelo para
 *         ser usada; Em Contas;
 *
 */
public class Conta {
    double saldo;
    int agencia;
    int numero;
    String titular;

    /**
     * Metodo para deposito;
     * 
     * @param valor
     *            será utilizado para agregar a variavel saldo; Em meu metódo
     *            deposita eu recebo um valor do tipo double;7 E digo que
     *            this.saldo, ou seja, o saldo do objeto em questão é igual o valor
     *            atual mais o valor do metodo; Digo que esse metodo é do tipo void
     *            pois ele não me retorna nada somente faz a ação do saldo; Void é o
     *            que o metodo devolve pra você, nesse caso nada; (double valor) é o
     *            que o metodo recebe;
     */
    public void deposita(double valor) {
        this.saldo += valor;
    }

    /**
     * Metodo saca;
     * 
     * @param valor
     *            será utilizado para sacar do saldo da conta em questão;
     * @return um true ou false dependendo se a condição do saque for positiva ou
     *         não; Regra para o saque;
     *         Só possivel sacar se o valor do saque for menor, ou igual, ao de saldo;
     */
    public boolean saca(double valor) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
            System.out.println("Você sacou " + valor + " Seu saldo atual é: " + this.saldo);
            return true;
        } else {
            System.out.println("Você não tem saldo sulficiente, tente um valor menor! Seu saldo é: "
        + this.saldo);
            return false;
        }
    }

    /**
     * Metodo para transferência;
     * @param valor será utilizado para receber o valor que será utilizado na transferência;
     * @param destino é o paramêtro utilizado para setar a conta destino da transferência;
     * @return como o metodo é tipo boolean ele retornará um true ou false;
     * E também os System.out.println(); que foram escritos;
     * O if é a regra do negocio para nossa transferência;
     * Se o valor do saldo for maior ou igual ao valor setado a transferencia será efetuada;
     * Caso o contrario a transferência não ocorrerá;
     */
    public boolean transfere(double valor, Conta destino) {
        if(this.saldo >= valor) {
            this.saldo -= valor;
            /**
             * Eu posso utilizar, ou reaproveitar, um metodo ja existente dentro de outor;
             * Aqui estou utilizando o metodo deposita() para fazer o deposito em destino;
             */
            destino.deposita(valor);
            System.out.println(this.titular + " Transferiu: " + valor + "R$ para conta de: " 
            + destino.titular + ". Seu saldo atual é: " + this.saldo + "R$.");
            return true;
        } else {
            System.out.println("Não foi possivel fazer a tranfeência de: " + valor + "R$ para conta de: " +
                    destino.titular 
                    + ", seu saldo é insulficiente: " + this.saldo + "R$.");
            System.out.println("Tente um valor menor!");
            return false;
        }
    }
}
/**
 * Classe TestaMetodo;
 * 
 * @author Pablo;
 *
 */
public class TestaMetodo {
    public static void main(String[] args) {
        /**
         * Criando uma nova Conta; Referenciando essa nova Conta em conta01 que é do
         * tipo Conta; Setando saldo a está conta; Setando um deposito a está conta;
         */
        Conta conta01 = new Conta();
        conta01.titular = "Pablo";
        conta01.saldo = 100;
        /**
         * Chamando o metodo deposita();
         */
        conta01.deposita(50);
        /**
         * Imprimindo o saldo de conta01.;
         */
        System.out.println(conta01.saldo);
        /**
         * Chamando o metodo saca();
         */
        conta01.saca(50);

        /**
         * Criando conta02;
         */
        Conta conta02 = new Conta();
        conta02.titular = "Luzana";
        conta02.deposita(250);
        conta02.transfere(100, conta01);

        conta01.transfere(755, conta02);

    }
}
1 resposta

Oi Pablo, obrigado por compartilhar. A comunidad agradece :).

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