1
resposta

Projeto final do curso

Cheguei a essa solução referente ao projeto final do app.

import java.util.Scanner;

public class AppBanco {
    public static void main(String[] args) {
        String systemMessage = "";
        String userName = "Rodrigo Pires";
        String accountType = "Corrente";
        double currentBalance = 150000.00;


        String initialMessage = """
\nSeja Bem Vindo!
----------------------
Nome:               %s
Tipo de Conta:      %s
Saldo Inicial:      %.2f
------------------------------------------------------------------
""".formatted(userName, accountType, currentBalance);
        System.out.println(initialMessage);
        Scanner number = new Scanner(System.in);
        int chosenOption = 0;

        String optionsMenu = """
                Digite a sua opção conforme o menu abaixo:
                ------------------------------------------               
                1 - Consultar Saldo
                2 - Transferir Valores
                3 - Receber Valores
                4 - Encerrar App
                """;

        while (chosenOption < 4) {
            System.out.println(optionsMenu);
            chosenOption = number.nextInt();

            if (chosenOption == 1) {
                systemMessage = """
                        Saldo Atual: | R$ %s |
                        \n""".formatted(currentBalance);
                System.out.println(systemMessage);
            } else if (chosenOption == 2) {
                systemMessage = "Informe o montante a ser transferido";
                System.out.println(systemMessage);
                double value = number.nextDouble();

                while (value <= 0 || value > currentBalance) {
                    if (value <= 0) {
                        systemMessage = """
                                Valor inválido. 
                                Digite um valor positivo para transferência.
                                """;
                        System.out.println(systemMessage);
                    } else {
                        systemMessage = """
                            Seu Saldo | R$ %s | é insuficiente para realizar a transferência.
                            Digite o valor correto
                            -------------------------------------------------------------
                            \n""".formatted(value,currentBalance);
                        System.out.println(systemMessage);
                    }
                    value = number.nextDouble();
                }
                currentBalance -= value;
                systemMessage = """
                        Transferencia realizada com sucesso
                        Saldo Atual: | R$ %s |
                        -------------------------------------
                        \n""".formatted(currentBalance);
                System.out.println(systemMessage);

            } else if (chosenOption == 3) {
                systemMessage = "Qual o valor recebido?";
                System.out.println(systemMessage);
                double transferReceived = number.nextDouble();

                while (transferReceived <= 0) {
                    systemMessage = "Valor inválido. Digite um valor maior que 0: ";
                    System.out.println(systemMessage);
                    transferReceived = number.nextDouble();
                }
                currentBalance += transferReceived;
                systemMessage = """
                        Transferência recebida de | R$ %s |
                        Saldo Atual de | R$ %s |
                        \n""".formatted(transferReceived, currentBalance);
                System.out.println(systemMessage);
            } else if (chosenOption == 4) {
                systemMessage = """
                        App será encerrado...
                        Até logo!
                        """;
                System.out.println(systemMessage);
            }
        }
    number.close();
    }
}
1 resposta

Olá Rodrigo, tudo bem com você?

Meus parabéns pela finalização do projeto do curso. Gostei da utilização de formatted para formatar as strings de saída, tornando o código mais legível e organizado. Testei o seu código e ele executou como esperado, como demonstrado no GIF abaixo:

GIF exibindo a execução do código do aluno no terminal do IntelliJ

Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!