1
resposta

[Projeto] Projeto Conta Bancária

Prezados,
Encaminho meu código antes de assistir as aulas da professora explicando como fazer, a fim de receber feedback da minha lógica.

import java.util.Scanner;

public class Contabancaria {
    public static void main(String[] args) {

        Scanner leitura = new Scanner(System.in);

        int saldoDaConta = 500;
        int valorDeDeposito = 0;
        int valorDeRetirada = 0;;
        int opcao;
        int menu1 = 1;
        int menu2 = 2;
        int menu3 = 3;
        int menu4 = 4;

        String dadosDaConta = """
         ********************************************
         BANCO JAVA
         Nome: Julio Java
         Tipo da Conta: Corrente
         Saldo da Conta """ + saldoDaConta +
        """
        
        *********************************************
                """;
     

        System.out.println(dadosDaConta);


            System.out.println("""
                                  
                                  Seja bem-vindo ao menu do Banco Java. 
                                  
                                  Digite o número referente a opção desejada:
                                  
                                  """);

            System.out.println("1-Consultar saldo");
            System.out.println("2-Receber valor");
            System.out.println("3-Transferir valor");
            System.out.println("4-Sair do menu");
             opcao = leitura.nextInt();

            if(opcao == menu1) {
                System.out.println("Seu saldo é: " + saldoDaConta);
            }
            else if ( opcao == menu2) {
                System.out.println("Digite o valor a ser recebido: " );
                valorDeDeposito = leitura.nextInt();
                System.out.println("Seu novo saldo é:"  + (saldoDaConta + valorDeDeposito));
            }
            else if ( opcao == menu3) {
                System.out.println("Digite o valor a ser transferido: " );
                valorDeRetirada = leitura.nextInt();
                System.out.println("Seu novo saldo é:" + (saldoDaConta - valorDeRetirada));
            }
            else if ( opcao == menu4) {
                System.out.println("Volte sempre que precisar! " );
            }
    }
}
1 resposta

Olá Maria.
Excelente iniciativa.
Seu código está bem estruturado, legível e mostra que você entendeu bem a proposta do desafio.
Vamos fazer uma análise detalhada:
Pontos Positivos

  1. Organização e clareza:
    • O código está limpo, bem identado e com nomes de variáveis intuitivos.
    • O uso do text block (""" ... """) para o menu e dados da conta é ótimo — deixa o código mais legível.
  2. Uso correto do Scanner:
    • Você capturou as entradas do usuário de forma adequada (nextInt()).
  3. Estrutura condicional (if-else if):
    • Funciona corretamente para as opções de menu.
  4. Lógica básica funcionando:
    • Cada opção do menu executa o que se propõe.

Sugestões :

  1. Saldo não é atualizado de fato
    • O cálculo é mostrado, mas o valor do saldoDaConta não muda após depósito ou retirada.
    • Você pode resolver isso atribuindo o novo valor à variável saldoDaConta.
    saldoDaConta += valorDeDeposito;  // ao depositar
    saldoDaConta -= valorDeRetirada;  // ao transferir
    

Assim, o saldo vai sendo atualizado conforme as operações.

  1. Repetição do menu (laço de repetição)
    • Atualmente, o programa executa uma única operação e termina.
    • Para que o usuário possa fazer várias operações até escolher “Sair”, use um while:
    int opcao = 0;
    
    while (opcao != 4) {
        System.out.println("""
            \nMenu Banco Java
            1 - Consultar saldo
            2 - Receber valor
            3 - Transferir valor
            4 - Sair
            """);
    
        opcao = leitura.nextInt();
    
        if (opcao == 1) {
            System.out.println("Seu saldo é: " + saldoDaConta);
        } else if (opcao == 2) {
            System.out.println("Digite o valor a ser recebido: ");
            int valorDeDeposito = leitura.nextInt();
            saldoDaConta += valorDeDeposito;
            System.out.println("Seu novo saldo é: " + saldoDaConta);
        } else if (opcao == 3) {
            System.out.println("Digite o valor a ser transferido: ");
            int valorDeRetirada = leitura.nextInt();
            if (valorDeRetirada > saldoDaConta) {
                System.out.println("Saldo insuficiente!");
            } else {
                saldoDaConta -= valorDeRetirada;
                System.out.println("Seu novo saldo é: " + saldoDaConta);
            }
        } else if (opcao == 4) {
            System.out.println("Volte sempre que precisar!");
        } else {
            System.out.println("Opção inválida. Tente novamente.");
        }
    }
    

Isso torna seu programa interativo e mais próximo de um sistema real.

  1. Validação de entrada

    • Seria interessante verificar se o valor digitado é positivo antes de depositar ou transferir.
    • Exemplo:
      if (valorDeDeposito <= 0) {
          System.out.println("O valor deve ser positivo!");
      } else {
          saldoDaConta += valorDeDeposito;
      }
      
  2. Melhoria no tipo de dados

    • Para valores monetários, o ideal é usar double (ou BigDecimal em projetos reais).
    • Assim, você pode trabalhar com centavos.

Parabéns pela sua resolução.
Esta no caminho certo.
Continue compartilhando seu aprendizado com a gente.
E qualquer duvida comente ai.
Bons estudos.