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

Realizei o desafio

import java.util.Scanner;

public class Main { public static void main(String[] args) { String nome = "Felipe Adolfo Marchi"; String conta = "38048-6"; double saldo = 500;

    System.out.printf("""
            ==============================
            Nome: %s
            Conta: %s
            Saldo atual: %.2f
            ==============================%n""", nome, conta, saldo);

    Scanner scanner = new Scanner(System.in);
    int opcao = 0;

    while (opcao != 4) {
        System.out.println("""
                \nEscolha sua operação
                1 - Depósito
                2 - Saque
                3 - Consultar saldo
                4 - Sair \n""");

        opcao = scanner.nextInt();

        switch (opcao) {
            case 1:
                System.out.println("Informe o valor do depósito:");
                double deposito = scanner.nextDouble();
                saldo += deposito;
                System.out.printf("O saldo atual é: %.2f\n", saldo);
                break;
            case 2:
                System.out.println("Informe o valor do saque:");
                double saque = scanner.nextDouble();
                if (saque > saldo) {
                    System.out.println("Não é possível sacar esse valor, verifique!");
                    break;
                }
                saldo -= saque;
                System.out.printf("O saldo atual é: %.2f\n", saldo);
                break;
            case 3:
                System.out.printf("O saldo atual é: %.2f\n", saldo);
                break;
            case 4:
                System.out.println("Sistema encerrado.");
                break;
            default:
                System.out.println("Opção inválida");
        }
    }
}

}

1 resposta
solução!

Parece que você completou um desafio de programação relacionado a Java e compartilhou o código que criou! O código apresenta uma aplicação bancária simples, com operações de depósito, saque, consulta de saldo e encerramento do sistema. Aqui estão alguns pontos sobre seu código:

  1. Estrutura e Legibilidade: Você usou uma estrutura clara com loops e switch statements, o que é ótimo para controlar o fluxo de operações em um menu interativo. A utilização de strings multilinhas para os prompts de operações ajuda na legibilidade.

  2. Funcionalidade de Scanner: Usar a classe Scanner para leitura de entrada do usuário é apropriado para este tipo de aplicação interativa.

  3. Tratamento de Opções: O tratamento das opções de menu através do switch é eficiente e mantém o código organizado. A inclusão de uma opção de saída (opção 4) e a mensagem para opções inválidas são boas práticas para interfaces de usuário em linha de comando.

  4. Manipulação do Saldo: Você adicionou corretamente o valor ao saldo em caso de depósito e subtraiu em caso de saque, com uma verificação para garantir que não haja saques maiores que o saldo atual.

  5. Saída Formatada: O uso de System.out.printf para formatar a saída com duas casas decimais é uma maneira excelente de manter a consistência na apresentação dos valores monetários.

Sugestões de Melhorias

  • Fechamento do Scanner: É uma boa prática fechar o Scanner no final do uso para liberar os recursos que ele pode estar segurando. Isso pode ser feito adicionando scanner.close(); após o loop do menu.

  • Tratamento de Erros de Entrada: Seria útil adicionar algum tratamento para quando a entrada do usuário não é um número onde esperado, usando try-catch para capturar InputMismatchException.

  • Modularização: Você pode considerar extrair partes do código para métodos separados para reduzir a complexidade no método main, como métodos para cada operação (depósito, saque, consulta de saldo).

Se você tiver alguma dúvida sobre como implementar essas sugestões ou outras questões sobre o seu código, sinta-se à vontade para perguntar!