Executando verificação de segurança...
1

Criando meu primeiro Caixinha Eletrônico em Java: Unindo Lógica de Decisão e Records

Introdução

Olá, pessoal! Estou iniciando meus estudos em Java através da DIO e, inspirado pelas aulas do Prof. José Junior, decidi desenvolver um simulador de caixa eletrônico. O objetivo foi aplicar conceitos fundamentais de controle de fluxo e experimentar uma funcionalidade moderna do Java: os Records.

Essa ideia veio enquanto eu estava revendo alguns conceitos de Lambdia e Records em Java durante um Bootcamp da própria DIO com a AWS, o conceito da aula era resolver um exercício usando a mesma regra de IF, ELSE-IF.

A Estrutura de Decisão

Para o menu principal, utilizei a estrutura if/else if. Embora existam outras formas de fazer, o if me permitiu um controle muito claro de cada condição, garantindo que o usuário seja direcionado exatamente para a função desejada ou receba um alerta de "Opção Inválida".

Veja como ficou a estrutura do loop principal:

Java

while(true) {
    // ... exibição do menu
    option = scanner.nextInt();

    if(option == 1) {
        extractBankAccount();
    } else if(option == 2) {
        depositBankAccount();
    } else if(option == 3) {
        pluderBankAccount();
    } else if(option == 4) {
        transferBankAccount();
    } else if(option == 5) {
        System.out.println("Obrigado pela visita!");
        break;
    } else {
        System.out.println("Opção Invalida");
        continue;
    }
}

Organizando Dados com Records

A grande sacada desse projeto foi usar Records para representar as operações. Em Java, Records são uma forma concisa de criar classes que servem apenas para transportar dados.

Em vez de criar classes longas com getters e setters, criei registros simples no pacote br.com.cardosobanking.operations:

Java

public record Transfer(double transferValue) { }
public record Deposit(double depositValue) { }
public record Plunder(double plunderValue) { }
public record Balance(double financeBalance) { }

Isso prepara o sistema para evoluir. Mesmo que hoje eu use apenas variáveis simples dentro dos métodos, a estrutura para transformar isso em objetos reais já está pronta.

O Desafio da Transferência

Um ponto interessante do código é a validação de saldo. No método transferBankAccount, implementei uma verificação simples: o sistema só permite a transferência se o valor for menor ou igual ao saldo disponível (neste exemplo, fixo em R$ 1000,00).

Java

if(financeBalance > 1000.00) {
    System.out.println("A Transferencia não pode ser efetuada! Saldo insuficiente!");
} else {
    System.out.printf("O Valor de R$ %.2f foi transferido com exito!", financeBalance);
}

Conclusão

Desenvolver esse projeto me mostrou como a base da programação (condicionais e loops) se conecta com recursos mais novos da linguagem. O próximo passo será implementar as funções de depósito e saque utilizando os Records que já deixei criados!

Carregando publicação patrocinada...