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

[Projeto] Projeto Final

Esse foi o resultado do projeto final, eu tentei acrescentar a opção de senha para confirmar antes da transferencia, mas infelizmente não consegui, quem poder ajuda nessa parte para poder entender fico agradecido, deixei a tentativa comentada.

import java.util.Scanner;

public class Desafio {
    public static void main(String[] args) {

        // nome de usuário
        Scanner perfil = new Scanner(System.in);
        System.out.println("Digite o seu nome ");
        String usuario = perfil.nextLine();

        // Continue
        Scanner tipoDeConta = new Scanner(System.in);
        System.out.println("\nQual o seu tipo de conta??");
        System.out.println("Digite (Conta Corrente) para Conta Corrente;");
        System.out.println("Digite (Conta Poupança) para Conta Poupança;");
        System.out.println("Digite qualquer tecla para encerrar;");
        String continueConta = tipoDeConta.nextLine();

        // Escolhas de conta
        if (continueConta.equals("Conta Corrente")) {
            System.out.println("\nEntão você se chama " + usuario +  " e o seu tipo de conta é " + continueConta);
        } else if (continueConta.equals("Conta Poupança")) {
            System.out.println("\nEntão você se chama " + usuario +  " e o seu tipo de conta é " + continueConta);
        } else {
            System.out.println("Opção Invalidade, te vejo na próxima, bons estudos.");
            return;
        }

//        // Senha
//        Scanner senhaPedido = new Scanner(System.in);
//        System.out.println("Digite uma senha fictícia ");
//        int senhaAtual = senhaPedido.nextLine();

        // Saldo em conta
        Scanner saldoEmConta = new Scanner(System.in);
        System.out.println("\n" + usuario + " qual é o seu saldo em conta?");
        float saldoAtual = saldoEmConta.nextFloat();

        // Informações
        System.out.println("************************");
        System.out.println("\nNome do cliente: " + usuario);
        System.out.println("Tipo de conta: " + continueConta);
        System.out.println("Saldo atual: R$" + saldoAtual);
        System.out.println("\n************************");

        // Menu
        int opcao = 0;

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

        Scanner leituraMenu = new Scanner(System.in);

        while (opcao != 4) {
            System.out.println(menu);
            opcao = leituraMenu.nextInt();

            if (opcao == 1) {
                System.out.println("\nO saldo atual é de R$ " + saldoAtual);
            } else if (opcao == 2) {

                System.out.println("\nQual o valor que deseja transferir?");
                double valor = leituraMenu.nextDouble();

                saldoAtual -= valor;
                System.out.println("\nTranferência realizada com sucesso, novo saldo " + saldoAtual);

//                    if (valor < saldoAtual) {
//                        System.out.println("Confirme a senha");
//                        Scanner redigirSenha= new Scanner(System.in);
//                        redigirSenha.nextLine();
//
//                        if (redigirSenha.equals(senhaAtual)) {
//                            saldoAtual -= valor;
//                            System.out.println("\nTranferência realizada com sucesso, novo saldo " + saldoAtual);
//                        } else {
//                            System.out.println("Senha incorreta");
//                            return;
//                        }
//
//                    } else if (valor > saldoAtual ) {
//                        System.out.println("\nNão há saldo para realizar a transferência");
//                    }

            } else if (opcao == 3) {
                System.out.println("Valor recebido ");
                double valor  = leituraMenu.nextDouble();
                saldoAtual += valor;
                System.out.println("\nValor recebido com sucesso,novo saldo " + saldoAtual);
            } else if (opcao != 4 ) {
                System.out.println("Opção invalida");
            }
        }
    }
}
3 respostas
solução!

Olá Luis! Tudo bem?

Para adicionar a funcionalidade de confirmação de senha antes de realizar a transferência, você pode seguir os passos abaixo. Vou te mostrar como implementar isso no seu código. A ideia é solicitar a senha ao usuário e verificar se ela está correta antes de permitir a transferência.

Aqui está o código modificado com a funcionalidade de senha:

import java.util.Scanner;

public class Desafio {
    public static void main(String[] args) {

        // nome de usuário
        Scanner perfil = new Scanner(System.in);
        System.out.println("Digite o seu nome ");
        String usuario = perfil.nextLine();

        // Continue
        Scanner tipoDeConta = new Scanner(System.in);
        System.out.println("\nQual o seu tipo de conta?");
        System.out.println("Digite (Conta Corrente) para Conta Corrente;");
        System.out.println("Digite (Conta Poupança) para Conta Poupança;");
        System.out.println("Digite qualquer tecla para encerrar;");
        String continueConta = tipoDeConta.nextLine();

        // Escolhas de conta
        if (continueConta.equals("Conta Corrente") || continueConta.equals("Conta Poupança")) {
            System.out.println("\nEntão você se chama " + usuario +  " e o seu tipo de conta é " + continueConta);
        } else {
            System.out.println("Opção Inválida, te vejo na próxima, bons estudos.");
            return;
        }

        // Senha
        Scanner senhaPedido = new Scanner(System.in);
        System.out.println("Digite uma senha fictícia ");
        String senhaAtual = senhaPedido.nextLine();

        // Saldo em conta
        Scanner saldoEmConta = new Scanner(System.in);
        System.out.println("\n" + usuario + " qual é o seu saldo em conta?");
        float saldoAtual = saldoEmConta.nextFloat();

        // Informações
        System.out.println("************************");
        System.out.println("\nNome do cliente: " + usuario);
        System.out.println("Tipo de conta: " + continueConta);
        System.out.println("Saldo atual: R$" + saldoAtual);
        System.out.println("\n************************");

        // Menu
        int opcao = 0;

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

        Scanner leituraMenu = new Scanner(System.in);

        while (opcao != 4) {
            System.out.println(menu);
            opcao = leituraMenu.nextInt();

            if (opcao == 1) {
                System.out.println("\nO saldo atual é de R$ " + saldoAtual);
            } else if (opcao == 2) {
                System.out.println("\nQual o valor que deseja transferir?");
                double valor = leituraMenu.nextDouble();

                if (valor > saldoAtual) {
                    System.out.println("\nNão há saldo para realizar a transferência");
                } else {
                    System.out.println("Confirme a senha:");
                    Scanner redigirSenha = new Scanner(System.in);
                    String senhaDigitada = redigirSenha.nextLine();

                    if (senhaDigitada.equals(senhaAtual)) {
                        saldoAtual -= valor;
                        System.out.println("\nTransferência realizada com sucesso, novo saldo R$ " + saldoAtual);
                    } else {
                        System.out.println("Senha incorreta");
                    }
                }
            } else if (opcao == 3) {
                System.out.println("Valor recebido ");
                double valor  = leituraMenu.nextDouble();
                saldoAtual += valor;
                System.out.println("\nValor recebido com sucesso, novo saldo R$ " + saldoAtual);
            } else if (opcao != 4) {
                System.out.println("Opção inválida");
            }
        }
    }
}

Com essas alterações, agora o programa pedirá a senha antes de realizar a transferência e verificará se a senha está correta. Se a senha estiver correta, a transferência será realizada; caso contrário, uma mensagem de "Senha incorreta" será exibida.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Show, vou pegar para estudar esse código agora e vê onde poderia ter melhorado, obrigado

Deu tudo certo, muito obrigado pela ajuda, percebi que tinha que ter posto String lá em cima na senha, e que o if e else funcionou bem ali embaixo, só o Scanner dentro da função que não tinha pensando, pra mim tinha que ter declarado lá em cima e tentar puxar da informação digitada anteriormente, também foi de grande ajuda o || tinha esquecido dessa função, obrigado.