1
resposta

[Projeto] Desafio final, minha resolução.

import java.util.Scanner; public class Main {

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

    String nome = "João Victor Domingos e Souza";
    String tipoConta = "Corrente";
    double saldo = 2100.00;

    exibeExtrato(nome, tipoConta, saldo);
    boolean sair = false;

    while (!sair) {
        switch (menu()) {
            case 1: //Consulta saldo
                consultaSaldo(saldo);
                break;

            case 2: //Receber Valor
                System.out.print("Informe o valor a receber: ");
                double entrada = read.nextDouble();
                saldo += entrada;
                consultaSaldo(saldo);
                break;


            case 3: //Transferir Valor
                System.out.print("Informe o valor a ser tranferido: ");
                double saida = read.nextDouble();
                if (saida <= saldo) {
                    saldo -= saida;
                    consultaSaldo(saldo);
                } else {
                    System.out.println("Saldo insuficiente para a transferência");
                }

                break;

            case 4: //Sair
                sair = true;
                break;
            default:
                System.out.println("Opção inválida!");

        }
    }





}

public static void exibeExtrato(String nome, String tipoConta, double saldo){
    System.out.println("******************************************");
    System.out.println("Dados do Cliente: ");
    System.out.println("\t Nome: " + nome + "\n\t Tipo conta: " + tipoConta + "\n\t Saldo: " + saldo);
    System.out.println("******************************************");
}

public static int menu(){
    System.out.println("\nOperações: ");
    System.out.println("(1) Saldo \n(2) Receber Transferência \n(3) Transferir Valor \n(4) Sair");
    System.out.print("Digite a opção desejada: ");

    Scanner read = new Scanner(System.in);

    int op = read.nextInt();
    return op;
}

public static void consultaSaldo(double saldo){
    System.out.println("Seu saldo atual é de R$" + saldo);
}

}

1 resposta

Olá, João!

Tudo bem?

Muito obrigado por compartilhar a sua solução para o desafio final do curso. Seu código parece estar bem estruturado e funcional. Você fez um bom uso do switch para gerenciar as opções do menu e criou funções separadas para exibir o extrato, mostrar o menu e consultar o saldo, o que é uma boa prática para manter o código organizado.

Apenas uma observação: notei que você está criando uma nova instância de Scanner toda vez que a função menu() é chamada. Isso pode não ser necessário e até mesmo consumir mais recursos do que o necessário. Você poderia considerar criar um único Scanner como uma variável global e reutilizá-lo em todas as suas funções. Por exemplo:

public class Main {
    static Scanner read = new Scanner(System.in);
    ...
}

E então, em suas funções, você pode simplesmente usar read.nextInt() ou read.nextDouble() sem precisar criar um novo Scanner.

É só uma sugestão, faça a mudança se achar necessário.

Espero ter ajudado e bons estudos!