Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Solução do desafio proposto.

Após o desafio de um projeto proposto pela professora, resolvi sem consultar os vídeos de apoio fazer o meu próprio, gostaria da opinião de vocês para saber se está ruim, bom, ok ou se pode melhorar. Ficarei grato.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // Temos 6 variaveis, 3 sem inicialização e 3 com inicialização.
        // Coletamos so dados, tipo da conta e capturamos o que o usuário digita.
        String name;
        String typeAccount;
        double valueAccount = 0;
        Scanner reading = new Scanner(System.in);
        String treatment;
        boolean menuOptions = true;

        System.out.println("Informe seu nome: ");
        name = reading.nextLine();
        System.out.println("Informe o tipo de sua conta bancária: ");
        typeAccount = reading.nextLine();

        // While para sempre que a condição de menuOptions for verdadeira, aparecer para o usuário transitar pelas funcionalidades
        while(menuOptions){
       // Apresenta de forma organizada os dados
        String infos = String.format("""
                Nome: %s,
                Tipo da conta: %s,
                Saldo da conta: %.2f
                    """, name, typeAccount, valueAccount);
        // Imprime as informações do usuário
        System.out.println(infos);
        // O menu de operações disponiveis para fazer uso
        System.out.println("""
                Operações: 
                1- Consulta de Saldos.
                2- Receber valor.
                3- Transferência de valor.
                4- Sair.
                
                Digite a opção desejada:
                """);
        // Leitura da opção que o usuario deseja para utilizarmos no switch
        int typeFunctionality = reading.nextInt();
        switch (typeFunctionality) {
            case 1:
                // Apenas mostra o saldo da conta
                System.out.println("Seu saldo é de: " + valueAccount);
                break;
            case 2:
                //Pergunta o valor que o cliente deseja receber, captura esse valor, apresenta ele numa condicional if para verificar se é maior que 0 para ai sim adicionar a conta o valor desejado
                System.out.println("Digite o valor que você deseja receber.");
                double valueAdd = reading.nextDouble();
               if (valueAdd > 0) {
               double newValue = valueAccount += valueAdd;
               System.out.println("Você recebeu: " + valueAdd + " na sua conta, seu novo saldo é de: " + newValue);
               }
                break;
            case 3:
                // Captura o valor desejado de transferencia, checa se o valor é maior que o saldo, se sim, impede a transferencia, se não, subtrai o valor e apresenta o saldo novo e o valor retirado da conta
                System.out.println("Digite o valor que deseja transferir: ");
                double valueTransfer = reading.nextDouble();
                if (valueTransfer > valueAccount) {
                    System.out.println("Não é possível transferir um valor maior do que possuí em conta");
                } else {
                    double newValueTransfer = valueAccount -= valueTransfer;
                    System.out.println("Você transferiu: " + valueTransfer + " seu saldo é de: " + newValueTransfer);
                }
                break;
            case 4:
            // Transforma a variavel de menuOptions em false para que o menu seja fechado.
                System.out.println("Saindo, até mais...");
                menuOptions = false;
                break;
            default:
                // Caso seja algo fora dos cases, ele retorna informa que não há essa opção e retorna ao menu
                treatment = "Operação inválida.";
                System.out.println(treatment);
                break;
        }
        }
    }
}
1 resposta
solução!

Oii, Fernando!

Obrigada por compartilhar seu projeto.

Achei muito interessante como você estruturou o menu de operações no seu código. A utilização do String.format para exibir as informações do usuário tá clara e bem organizada. E, o uso do switch com validações no case demonstra um bom domínio da lógica de programação.

Parabéns por praticar.

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