1
resposta

[Projeto] ContaBancaria

import java.util.Scanner;

public class ContaBancaria {
    public static void main(String[] args) {
        String nomeCliente = "Rosangely Linares";
        String tipoDeConta = "Poupança";
        double saldoInicial = 4700.00;

        Scanner informacoes = new Scanner(System.in);

        int opcao = 0;

        System.out.println("*****Dados do Cliente*****");
        System.out.println("Nome e Sobrenome: " + nomeCliente);
        System.out.println("Conta: " + tipoDeConta);
        System.out.println("Saldo disponível na conta: " + saldoInicial);

        System.out.println("*****Operações*****");
        System.out.println("1- Consultar saldo.");
        System.out.println("2- Receber valor.");
        System.out.println("3- Tranferir valor.");
        System.out.println("4- Sair");

        while (opcao != 4){
            System.out.println("Digite a opção desejada: ");
            opcao = informacoes.nextInt();

            if(opcao == 1){
                System.out.println("Seu saldo atual é: " + saldoInicial);
            } else if (opcao == 2) {
                System.out.println("Por favor digite o valor a receber: ");
                double valorRecebido = informacoes.nextInt();
                 saldoInicial += valorRecebido;
                System.out.println("Após o valor de: R$" + valorRecebido + " seu saldo atual ficou: R$" + saldoInicial);
            } else if (opcao == 3) {
                double valorTransferencia = 0;
                int validandoTransferencia = 0;

                do {
                    System.out.println("Por favor digite o valor a transferir: ");
                    valorTransferencia = informacoes.nextDouble();

                    System.out.println("Por favor digite 1 se o valor a transferir estiver correto ou 2 para corrigir: ");
                    validandoTransferencia = informacoes.nextInt();

                } while (validandoTransferencia != 1); // repete até o usuário confirmar com 1

                // Depois da confirmação, valida saldo
                if (valorTransferencia > saldoInicial) {
                    System.out.println("Saldo insuficiente. Sua conta tem um valor de: " + saldoInicial
                            + ". Tente com um valor que não ultrapasse o limite disponível na sua conta.");
                } else {
                    saldoInicial -= valorTransferencia;
                    System.out.println("Transferência realizada com sucesso! Após sua transferência no valor de: " +valorTransferencia+ " seu novo saldo é: " + saldoInicial);
                }
                }else if (opcao == 4){
                    System.out.println("Operação finalizada. Até logo!");
                } else {
                    System.out.println("Opção inválida. Tente umas das opções mencionadas acima para poder seguir com a operação.");
                }
            }
        informacoes.close();
        }
    }
1 resposta

Olá, Sara. Como vai?

Parabéns pelo projeto! Ficou muito completo e bem estruturado. Você aplicou conceitos fundamentais de Java de forma muito clara, especialmente no controle de fluxo com o laço while e nas operações matemáticas de atualização de saldo.

  • Notei que você foi além do desafio básico e adicionou uma confirmação extra no processo de transferência com o laço do-while. Isso melhora muito a experiência do usuário, pois evita transferências acidentais.
  • O uso das condicionais para validar se o saldo é suficiente antes de realizar a transferência é uma regra de negócio essencial que você implementou corretamente.
  • A organização do menu e as mensagens de feedback tornam o programa muito intuitivo para quem está utilizando. *

Uma pequena sugestão técnica: na opção 2 (receber valor), você utilizou o método nextInt() para ler o valor e armazená-lo em uma variável double. Se o usuário digitar um valor com centavos, o programa pode apresentar um erro de compatibilidade. O ideal é usar sempre o nextDouble() para entradas que envolvam dinheiro.

Além disso, conforme seus projetos crescerem, você pode experimentar trocar os múltiplos if-else por uma estrutura de switch-case, que costuma deixar a leitura de menus mais limpa em Java.

Espero que possa ter lhe ajudado!