1
resposta

[Sugestão] Projeto Banco

fiz dessa forma, acho que dar para separar em dois arquivos(um contendo as funções e um outro arquivo principal que chama essas funções e também executa).
aprendi muitas coisas pesquisando.


import java.text.NumberFormat;
import java.util.InputMismatchException;
import java.util.Scanner;

public class Projeto {
    public static String exibir(int qtd) {
        String resultado = "*".repeat(qtd);
        return resultado;
    }

    public static void exibirTitulos(String mensagem) {
        System.out.println(mensagem);
    }

    public static String fomartacaoSaldo(double saldo) {
        NumberFormat saldoFormatado = NumberFormat.getCurrencyInstance();
        return saldoFormatado.format(saldo);
    }

    public static void exibirDadosClientes(String nome, String tipo, String saldoInicial) {

        exibirTitulos("Dados iniciais do cliente: ");
        System.out.println("\n");
        System.out.printf("Nome: %32s%n", nome);
        System.out.printf("Tipo conta: %15s%n", tipo);
        System.out.printf("Saldo inicial: %15s%n", saldoInicial);
    }

    public static void exibirOperacoes(String opcao1, String opcao2, String opcao3, String opcao4) {
        exibirTitulos("\nOperações");
        System.out.println('\n');
        System.out.println(opcao1);
        System.out.println(opcao2);
        System.out.println(opcao3);
        System.out.println(opcao4);
    }

    public static void consultarSaldo(String saldo) {
        System.out.println(saldo);
    }

    public static double receberValor(double saldo, double valorRecebido) {
        return (saldo + valorRecebido);
    }

    public static double tranferirValor(double saldo, double valorRetirado) {
        return saldo - valorRetirado;
    }

    public static void main(String[] args) {
        String estilo = exibir(47);
        double saldoAtual = 2500;
        String saldoFormatado = fomartacaoSaldo(saldoAtual);
        double valorRecebido;
        double valorRetirado;
        int opcao;

        System.out.printf("%s%n", estilo);
        exibirDadosClientes("Jacqueline Oliveira", "Corrente", saldoFormatado);
        System.out.println("\n" + estilo);

        Scanner Projeto = new Scanner(System.in);

        while (true) {
            exibirOperacoes("1- Consultar saldos", "2- Receber valor", "3- Tranferir valor", "4- sair");
            System.out.println("\nDigite a opção desejada: ");
            try {
                opcao = Projeto.nextInt();

                if (opcao < 0 | opcao > 4) {
                    System.out.println("Opção inválida!");
                }
                if (opcao == 1) {
                    String saldoParaExibir=fomartacaoSaldo(saldoAtual);
                    consultarSaldo(saldoParaExibir);
                } else if (opcao == 2) {
                    System.out.println("Informe o valor a receber: ");
                    valorRecebido = Projeto.nextDouble();
                    saldoAtual = receberValor(saldoAtual, valorRecebido);
                    System.out.println("Saldo atualizado  R$ " + saldoAtual);

                } else if (opcao == 3) {
                    System.out.println("Informe o valor a ser retirado: ");
                    valorRetirado = Projeto.nextDouble();
                    if (valorRetirado > saldoAtual) {
                        System.out.println("Não há saldo suficiente para essa transferência!");
                    } else {
                        saldoAtual = tranferirValor(saldoAtual, valorRetirado);
                        System.out.println("Saldo atualizado  R$ " + saldoAtual);
                    }
                } else if (opcao == 4) {
                    System.out.println("Encerrando o programa...");
                    Projeto.close(); // Fecha o recurso
                    System.exit(0);  // Encerra a execução
                }
            }catch (InputMismatchException e){
                System.out.println("Digite um número inteiro!");
                Projeto.nextLine();
            }
        }

    }
}
1 resposta

Oi, Andressa! Como vai?

Agradeço por compartilhar.

Gostei da sua análise e da organização das funções, importante como você separou responsabilidades e pensou na possibilidade de dividir em arquivos, isso mostra cuidado com estrutura e reaproveitamento. Seu comentário sobre aprender pesquisando também é importante para o desenvolvimento contínuo.

Continue explorando e testando novas formas de organizar o código, isso fortalece muito sua base em Java.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!