2
respostas

Desafio - Conta bancária virtual

public static void main(String[] args) {

        Scanner entrada = new Scanner(System.in);
        double saldoConta = 700;
        double depositar = 0 ;
        double pix = 0;
        int opcoes = 0;


        System.out.println(" *************************** ");
        System.out.println(" Nome: Arthur  ");
        System.out.println(" Tipo da Conta: Corrente");
        System.out.println(" Salto da Conta: " + "R$ " + saldoConta);
        System.out.println(" *************************** ");


        while (opcoes != 4) {
            System.out.println(" 1 - Consultar saldo");
            System.out.println(" 2 - Depositar");
            System.out.println(" 3 - Pix");
            System.out.println(" 4 - Sair");

            System.out.println(" *************************** ");
            System.out.println(" Escolha uma Opção: ");

            opcoes = entrada.nextInt();

            if (opcoes == 1) {
                System.out.print(" Seu saldo é : " + saldoConta);
            } else if (opcoes == 2) {
                System.out.println(" Qual valor você deseja depositar: ");
                depositar = entrada.nextDouble();
                saldoConta = depositar + saldoConta;
                System.out.println(" Seu atualizado é: R$ " + saldoConta);
            } else if (opcoes == 3) {
                System.out.println(" Informe o valor do pix: ");
                pix = entrada.nextDouble();
                saldoConta = saldoConta - pix;
                System.out.println(" Seu pix de R$ " + pix + " foi realizado com sucesso!");
                System.out.println(" Seu Saldo atual é: R$ "  + saldoConta);
            } else if (opcoes == 4){
                System.out.println("Programa Encerrado!");
            }
        }
    }
}
2 respostas

Oi, Arthur! Como vai?

Gostei de como você organizou o menu com while (opcoes != 4) para manter o programa rodando até o usuário escolher sair. Também ficou bem claro o fluxo das opções usando if e else if, permitindo consultar saldo, depositar e realizar pix. Esse tipo de estrutura é muito comum em sistemas simples de terminal e mostra que você aplicou bem os conceitos do desafio.

Uma dica interessante para o futuro é usar switch para tratar menus com várias opções, deixando o código mais organizado. Veja este exemplo:


int opcao = entrada.nextInt();

switch (opcao) {
    case 1:
        System.out.println("Consultar saldo");
        break;
    case 2:
        System.out.println("Depositar valor");
        break;
    case 3:
        System.out.println("Realizar pix");
        break;
    case 4:
        System.out.println("Encerrando programa");
        break;
    default:
        System.out.println("Opcao invalida");
}

Nesse código, switch analisa o valor da variavel opcao e executa o bloco correspondente. Isso ajuda quando existem muitas escolhas em menus.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Fiz assim:

import java.text.NumberFormat;
import java.util.Locale;
import java.util.Scanner;

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

    Scanner leitura = new Scanner(System.in);
    NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale("pt", "BR"));

    String nome = "Jacqueline Oliveira";
    String tipoConta = "Corrente";
    double saldoInicial = 2500.00;
    double saldoTotal;
    double valorRecebido;
    double valorTransferido;
    int opcao = 0;


    System.out.println("********************************************");
    System.out.println(" Dados inicias do Cliente: ");
    System.out.println(" Nome: " + nome);
    System.out.println(" Tipo da Conta: " +tipoConta);
    System.out.println(" Saldo inicial: " +nf.format(saldoInicial));
    System.out.println("********************************************");


    System.out.println("Operações: \n");
    System.out.println("1 - Consultar Saldo \n" + "2 - Receber Valor \n" + "3 - Transferir Valor \n" + "4 - Sair \n");

    while (opcao <= 4){

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

        if (opcao == 1) {
            System.out.println("\nSaldo Conta Corrente = " + saldoInicial);
        }
        else if (opcao == 2) {
            System.out.println("Digite o valor a ser recebido: ");
            valorRecebido = leitura.nextDouble();
            saldoTotal = (valorRecebido + saldoInicial);
            System.out.println("\nSaldo Total é: " +saldoTotal);
            saldoInicial = saldoTotal;
        }
        else if (opcao == 3) {
            System.out.println("Digite o valor a ser transferido: ");
            valorTransferido = leitura.nextDouble();
            if (valorTransferido <= saldoInicial) {
                saldoTotal = (saldoInicial - valorTransferido);
                saldoInicial = saldoTotal;
                System.out.println("\nSaldo Total é: " + saldoTotal);
            }
            if (valorTransferido >= saldoInicial){
                System.out.println("Saldo insuficiente");
                 }
            }

        else if (opcao == 4) {
                System.out.println("Operação finalizada!");
        }
        else {
            System.out.println("Opção inválida. Tente novamente.");
        }

    }

}

}