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

[Projeto] Projeto - Conta Bancária

import java.util.Scanner;

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

    Scanner leitura = new Scanner(System.in);

    //dados do cliente
    System.out.println("Insira os dados da conta");
    System.out.println("------------------------");

    System.out.print("Nome: ");
    String nome = leitura.nextLine();

    System.out.print("Tipo de conta: ");
    String tipoDeConta = leitura.nextLine();

    System.out.print("Saldo em Conta: ");
    double saldo = leitura.nextDouble();

    System.out.println();
    System.out.println("--------------------------------------");
    System.out.println("Dados Iniciais da Conta");
    System.out.println("\nNome:               " + nome);
    System.out.println("Tipo de Conta:      " + tipoDeConta);
    System.out.println("Saldo Inicial:      R$ " + saldo);
    System.out.println("--------------------------------------");

    String menu = """
            \n1- Consultar Saldos
            2- Receber Valor
            3- Transferir Valor
            4- Sair
            """;

    //loop para operações
    int operacoes = 0;
    while (operacoes !=4) {
        System.out.println(menu);

        System.out.print("\nDigite a opção desejada: ");
        operacoes = leitura.nextInt();

        //consultar saldo
        if (operacoes == 1) {
            System.out.println("\nO saldo atual é de R$ " + saldo);

        //receber valor
        } else if (operacoes == 2) {
            System.out.print("\nInforme o valor a receber: ");
            double receber = leitura.nextDouble();

            System.out.println("\nSaldo Recebido!");
            System.out.println("Saldo atualizado R$ " + (saldo += receber));

        //tranferir valor
        } else if (operacoes == 3) {
            System.out.print("Informe o valor que deseja transferir: ");
            double transferir = leitura.nextDouble();

            if (transferir > saldo) {
                System.out.println("\nSaldo Insuficiente.");

            } else {
                System.out.println("\nSaldo transferido com sucesso!");
                System.out.println("Saldo atualizado R$ " + (saldo -= transferir));
            }

        //número inválido
        } else if (operacoes > 4 || operacoes < 1) {
            System.out.println("\nOpção inválida.");

        }
    }
    //finalização do app
    System.out.println("Encerrando...");
    System.out.println("\nObrigado por usar nossos serviços!");

}

}

1 resposta
solução!

Olá Matheus! Como vai?

O seu código está bem estruturado, mas notei um pequeno detalhe que pode estar causando problemas. Quando você está capturando o saldo inicial e os valores para receber ou transferir, está usando nextInt(). Isso pode causar problemas se você tentar inserir valores decimais, já que nextInt() é utilizado para inteiros.

Para resolver isso, você pode usar nextDouble() em vez de nextInt() para capturar valores decimais. Aqui está como você pode ajustar o seu código:

System.out.print("Saldo em Conta: ");
double saldo = leitura.nextDouble();

E também nas partes onde você recebe ou transfere valores:

System.out.print("\nInforme o valor a receber: ");
double receber = leitura.nextDouble();

System.out.print("Informe o valor que deseja transferir: ");
double transferir = leitura.nextDouble();

Essas mudanças permitirão que você trabalhe com valores decimais, o que é mais adequado para operações financeiras.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.