Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Sugestão] Sugestão para Conta Corrente

package br.com.alura;

import java.util.Scanner;

public class ContaCorrente { public static void main(String[] args) { String nome = "Francisco da Silva"; String tipoConta = "Corrente"; double saldo = 2500;

    String menu = """
            \nOperações
            1 - Consultar saldo
            2 - Receber valor
            3 - Transferir valor
            4 - Sair
            
            Digite a opção desejada:
            """;
    
    System.out.println("""
            *********************************************
            Dados iniciais do cliente:
            
            Nome:            %s
            Tipo conta:      %s
            Saldo inicial:   R$ %.2f
            *********************************************
            %s
            """.formatted(nome, tipoConta, saldo, menu));
    
    Scanner scanner = new Scanner(System.in);
    int opcao = scanner.nextInt();
    
    while (opcao != 4) {
        switch (opcao) {
            case 1:
                System.out.printf("Saldo atual: %.2f\n", saldo);
                break;
            case 2:
                System.out.println("Informe o valor recebido:");
                double valor = scanner.nextDouble();
                saldo += valor;
                System.out.printf("Saldo atual: %.2f\n", saldo);
                break;
            case 3:
                System.out.println("Informe o valor transferido:");
                valor = scanner.nextDouble();
                if (saldo >= valor) {
                    saldo -= valor;
                } else {
                    System.out.println("Não há saldo suficiente para realizar a transferência.");
                }
                System.out.printf("Saldo atual: %.2f\n", saldo);
                break;
            default:
                System.out.println("Opção inválida.");
        }
        System.out.println(menu);
        opcao = scanner.nextInt();
    }
    System.out.println("Sistema finalizado!");
    scanner.close();
}

}

2 respostas
solução!

Oi, Robson! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura. Com certeza ele poderá ajudar muitos outros estudantes.

Sua estrutura de menu e controle de opções está clara e funcional. Gostei de como utilizou switch para organizar as ações e como formatou o texto com """ para tornar a exibição mais limpa.

Uma dica interessante para o futuro é usar um do-while para garantir que o menu seja exibido ao menos uma vez e o programa só pare quando a opção for 4:


int opcao;

do {
    System.out.println(menu);
    opcao = scanner.nextInt();

    switch (opcao) {
        case 1:
            System.out.printf("Saldo atual: %.2f\n", saldo);
            break;
        case 2:
            System.out.println("Informe o valor recebido:");
            double valor = scanner.nextDouble();
            saldo += valor;
            System.out.printf("Saldo atual: %.2f\n", saldo);
            break;
        case 3:
            System.out.println("Informe o valor transferido:");
            valor = scanner.nextDouble();
            if (saldo >= valor) {
                saldo -= valor;
            } else {
                System.out.println("Nao ha saldo suficiente para realizar a transferencia.");
            }
            System.out.printf("Saldo atual: %.2f\n", saldo);
            break;
        case 4:
            System.out.println("Sistema finalizado!");
            break;
        default:
            System.out.println("Opcao invalida.");
    }
} while (opcao != 4);

Esse código evita duplicações e melhora o fluxo da aplicação.

Alura

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

Olá, Rafaela

Sim, da forma que você sugeriu fica melhor! Agradeço a orientação!