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

[Projeto] Desafio Final

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);

        System.out.println("Digite seu nome: ");
        String name = reader.nextLine();

        System.out.println("Digite seu tipo de conta: Conta Corrente ou Conta Poupança?");
        String typeAccount = reader.nextLine();

        System.out.println("Digite seu saldo inicial: ");
        double balance = reader.nextDouble();

        int option;

        do {
            System.out.println("""
                    Operações:
                    
                    1- Consultar saldo.
                    2- Receber valor.
                    3- Transferir valor.
                    4- Sair.
                    """);
            option = reader.nextInt();

            switch (option) {
                case 1:
                    System.out.println("Seu saldo é: " + balance);
                    break;
                case 2:
                    System.out.println("Digite o valor a receber: ");
                    double receiveValue = reader.nextDouble();

                    if (receiveValue <= 0) {
                        System.out.println("Valor inválido!");
                    } else {
                        balance += receiveValue;
                        System.out.println("Valor recebido: " + receiveValue);
                        System.out.println("Saldo atualizado: " + balance);
                    }
                    break;
                case 3:
                    System.out.println("A transferir: ");
                    double transferValue = reader.nextDouble();

                    if (transferValue <= 0) {
                        System.out.println("Valor inválido!");
                    } else if (transferValue > balance) {
                            System.out.println("Saldo insuficiente para realizar a transferência!");
                    } else {
                        balance -= transferValue;
                        System.out.println("Valor transferido: " + transferValue);
                        System.out.println("Saldo atualizado: " + balance);
                    }
                    break;
                case 4:
                    System.out.println("Saindo...");
                    break;
                default:
                    System.out.println("Comando Invalido!");
            }

        }
        while (option != 4);
        reader.close();
    }
    }
1 resposta
solução!

Oi, Eduardo! Como vai?

Achei legal a forma como você estruturou o menu de operações e utilizou o do-while para manter o loop ativo até que o usuário escolha sair. Isso garante uma boa experiência para quem interage com o sistema.

Uma melhoria interessante seria evitar o erro do Scanner ao usar nextLine() após nextInt() ou nextDouble(). O nextInt() não consome a quebra de linha deixada no buffer, o que pode causar problemas na leitura. Veja como resolver:

System.out.println("Digite o saldo inicial: ");
double balance = reader.nextDouble();
reader.nextLine(); // Limpa o buffer do Scanner

Isso evita que a próxima chamada a nextLine() seja pulada.

Bons estudos!