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

Minha solução

import java.util.Scanner;

public class Main {

    public static Double leituraValor(){
        Scanner sc = new Scanner(System.in);
        System.out.println("Digite o valor:");
        double valor = sc.nextDouble();
        return valor;
    }
    public static void consultarSaldos(String nomeCliente, String tipoConta, Double saldo){
        String dadosClienteExtrato = """
                ***************************
                Dados do cliente

                Nome: %s
                Tipo Conta: %s
                Saldo: R$ %.2f
                ***************************
                """.formatted(nomeCliente, tipoConta, saldo);
        System.out.println(dadosClienteExtrato);
    }
    public static void menuOperacoes(){
        String menuOperacoes = """
                1 - Consultar saldos
                2 - Receber valor
                3 - Transferir valor
                4 - Sair
                Digite a opção desejada:
                """;
        System.out.println(menuOperacoes);
    }
    public static Double receberValor(Double saldo){
        Double valor = leituraValor();
        return saldo + valor;
    }
    public static Double transferirValor(Double saldo){
        Double valor = leituraValor();
        if(saldo-valor >= 0){
            saldo-= valor;
        }else{
            System.out.println("Saldo insuficiente");
        }
        return saldo;
    }

    public static void main(String[] args) {

        String nomeCliente = "Rafael";
        String tipoConta = "Corrente";
        Double saldo = 1000.00;

        int opcaoMenuOperacoes;
        Scanner scannerOpcaoMenuOperacoes = new Scanner(System.in);

        do {
            menuOperacoes();
            opcaoMenuOperacoes = scannerOpcaoMenuOperacoes.nextInt();
            switch (opcaoMenuOperacoes) {
                case 1 -> consultarSaldos(nomeCliente, tipoConta, saldo);
                case 2 -> saldo=receberValor(saldo);
                case 3 -> saldo=transferirValor(saldo);
                case 4 -> System.out.println("Saindo, agradecemos a preferência!!!\n");
                default -> System.out.println("Opção invalida!!!\n");
            }
        } while (opcaoMenuOperacoes != 4);

    }

}
1 resposta
solução!

Olá Rafael,

Muito bom.

Acredito que a sua função "transferirValor" está funcionando corretamente, porém, seria interessante adicionar uma mensagem de confirmação para o usuário caso a transferência seja realizada com sucesso.

Outra sugestão seria adicionar uma validação para o valor digitado pelo usuário na função "leituraValor", para que não seja possível digitar valores negativos.

Espero ter ajudado e bons estudos!