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

[Projeto] Desafio Final

Olá, Segue o desafio completo para avaliação. Por favor, me corrijam se necessário ou me deem sugestões de melhoria :)

import java.util.Scanner;
import static java.lang.String.format;

public class Desafio {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);
        System.out.println("Informe seu nome: ");
        String nome = leitura.nextLine();
        System.out.println(" Digite 1 se Conta Corrente\n Digite 2 se Conta Poupança");
        int tipoConta = leitura.nextInt();
        System.out.println("Informe o saldo inicial:");
        double saldo = leitura.nextDouble();
        int alternativa = 0;

        System.out.println("**************************************************");
        System.out.println("Bem-vindo ao banco Janibank, " + nome + "!");
        System.out.println("\nNome do cliente: " + nome);
        if (tipoConta == 1) {
            System.out.println("Conta: Corrente");
        } else {
            System.out.println("Conta: Poupança");
        }
        System.out.println(format("Saldo disponível: R$%.2f",saldo));
        System.out.println("\n**************************************************\n");

        String menu = """
                **  Digite sua opção  **
                1 - Consultar saldo
                2 - Transferir valor
                3 - Receber valor
                4 - Sair
                """;

        while (alternativa != 4) {
            System.out.println(menu);
            alternativa = leitura.nextInt();


            if (alternativa == 1) {
                System.out.println(format("Saldo disponível: R$%.2f",saldo));
            } else if (alternativa == 2) {
                System.out.println("Digite o valor que deseja transferir: ");
                double valorTransferir = leitura.nextDouble();
                if (valorTransferir > saldo) {
                    System.out.println("Saldo insuficiente para completar a transferência.");
                } else {
                    saldo -= valorTransferir;
                }
            } else if (alternativa == 3) {
                System.out.println("Digite o valor que deseja receber: ");
                double valorReceber = leitura.nextDouble();
                saldo += valorReceber;
            } else if (alternativa != 4) {
                System.out.println("Opção inválida! Insira uma das opções disponíveis no menu.");
            }
        }
    }
}
1 resposta
solução!

Opa Bruna! Tudo ok contigo?

Eu testei seu código aqui e dei uma analisada nele, e ele está ótimo, parabéns! Você fez um trabalho incrível com ele.

A minha única sugestão seria de talvez adicionar uma verificação nessa verificação do tipo da conta:

System.out.println(" Digite 1 se Conta Corrente\n Digite 2 se Conta Poupança");
        int tipoConta = leitura.nextInt();
        System.out.println("Informe o saldo inicial:");
        double saldo = leitura.nextDouble();
        int alternativa = 0;

        System.out.println("**************************************************");
        System.out.println("Bem-vindo ao banco Janibank, " + nome + "!");
        System.out.println("\nNome do cliente: " + nome);
        if (tipoConta == 1) {
            System.out.println("Conta: Corrente");
        } else { // Aqui seria interresante adicionar uma verificação para uma entrada inválida
            System.out.println("Conta: Poupança");
        }

A minha sugestão seria no lugar de usar o else de cara, você verificasse se o tipoConta == 2 e aí adiciona o System.out.println("Conta: Poupança");, e depois, sim, coloca o else com um System.out.println("Opção inválida! Insira uma das opções disponíveis no menu."); para depois retornar para o menu, assim daria uma cara mais realista, mas isso é opcional.

Como eu já mencionei antes, seu código está ótimo, está bem organizado, bem indentado, tem uma construção bem pensada, e funciona bem. Parabéns!!!

Se precisar de algo estarei por aqui!

Abraços e bons estudos.