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

[Projeto] Java: Criando sua primeira aplicação

Fala Galera!!! Consegui concluir o desafio e meu código ficou assim:

import java.util.Scanner;

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

        Scanner sc = new Scanner(System.in);

        System.out.println("Qual o seu nome?");
        String nome = sc.nextLine();
        System.out.println("Qual o seu tipo de conta: Conta Corrente ou Poupança?");
        String tipoDeConta = sc.nextLine();
        double saldoInicial = 2500.00;
        System.out.println();

        System.out.println("Nome: " + nome);
        System.out.println("Tipo de Conta: " + tipoDeConta);
        System.out.printf("Saldo inicial: R$%.2f%n", saldoInicial);
        System.out.println();
        double saldoAtual = saldoInicial;
        int escolha = 0;

        String mensagem = """
                Operações 
                  
                1- Consultar saldos
                2- Receber valor
                3- Transferir valor
                4- Sair
                """;


        while (escolha != 4) {
            System.out.println(mensagem);
            System.out.print("Escolha a operação:");
            escolha = sc.nextInt();
            System.out.println();


            if (escolha == 1) {
                System.out.printf("Seu saldo atual é de: R$%.2f%n", saldoAtual);
                System.out.println();
            } else if (escolha == 2) {
                System.out.println("Qual o valor recebido?");
                double valorRecebido = sc.nextDouble();
                saldoAtual = saldoAtual + valorRecebido;
                System.out.printf("Seu saldo atual é de: R$%.2f%n", saldoAtual);
                System.out.println();
            } else if (escolha == 3) {
                System.out.println("Qual o valor a ser transferido?");
                double valorTransferido = sc.nextDouble();
                if (valorTransferido > saldoAtual) {
                    System.out.println("Saldo insufiente para realizar a tranferência");
                    System.out.println();
                } else if (valorTransferido == 0) {
                    System.out.println("Valor invalido para realizar a transferência");
                    System.out.println();
                } else {
                    System.out.println("Transferência realizada");
                    saldoAtual = saldoAtual - valorTransferido;
                    System.out.printf("Seu saldo atual é de: R$%.2f%n", saldoAtual);
                    System.out.println();
                }
            } else if (escolha == 4) {
                System.out.println("O banco agradece a sua confiança!");
            } else {
                System.out.println("Opção Inválida");
                System.out.println();
            }
        }


        sc.close();
    }
}

Sei que ainda tenho muito a aprender, mas como essa é minha primeira aplicação, fiquei muito feliz em ter concluído o desafio... E claro que se alguém quiser dar sugestões para a melhoria do meu código, desde já, eu agradeço.

3 respostas

Olá Leandro, tudo bem com você?

Seu código está muito bem estruturado e fácil de entender. Você está em um bom caminho!

Quanto a melhorias, deixo algumas abaixo:

  • Encapsulamento: Você pode encapsular partes do seu código em métodos separados. Por exemplo, você pode criar um método para exibir o menu, outro para tratar a entrada do usuário, outro para realizar a transferência, etc. Isso torna o código mais organizado e mais fácil de manter. Por exemplo:
    public static void exibirMenu() {
        String mensagem = """
                Operações 
    
                1- Consultar saldos
                2- Receber valor
                3- Transferir valor
                4- Sair
                """;
        System.out.println(mensagem);
    }
    
  • Uso de constantes: Para os números que representam as opções do menu (1, 2, 3, 4), você pode usar constantes. Isso torna o código mais legível e mais fácil de manter. Por exemplo:
    public static final int OPCAO_CONSULTAR_SALDO = 1;
    public static final int OPCAO_RECEBER_VALOR = 2;
    public static final int OPCAO_TRANSFERIR_VALOR = 3;
    public static final int OPCAO_SAIR = 4;
    
    if (escolha == OPCAO_CONSULTAR_SALDO) {
        
    } else if (escolha == OPCAO_RECEBER_VALOR) {
        
    }
    

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

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

Boa tarde Rafael, muito obrigado pelas dicas, a sobre o uso de constantes, eu ainda não conheço, mas já vou dar uma pesquisa depois da sua dica.

solução!

Boa noite, Leandro!

Como as constantes são um recurso que você ainda não conhece, farei uma breve introdução sobre o assunto logo abaixo. Vamos lá?!

As constantes são declaradas usando a palavra-chave final, indicando que seu valor não pode ser alterado após a atribuição inicial. Ao usar constantes, temos como benefício:

  • Código mais legível: Ao substituir valores fixos por nomes significativos, tornamos o código mais compreensível e claro para quem o lê.
  • Facilidade de manutenção: Como valores fixos são encapsulados em constantes, torna-se mais fácil fazer atualizações e modificações, pois estas podem ser feitas em um único lugar.
  • Prevenção de erros: O uso de constantes ajuda a evitar erros de digitação e a manter a consistência dos valores ao longo do código.

Sintaxe:

final int TAMANHO_MAXIMO = 10;

Com as constantes, em vez de usar o valor numérico 10 em várias partes do código, podemos definir uma constante com o nome TAMANHO_MAXIMO e atribuir a ela o valor 10. Isso torna o código mais compreensível e ajuda a evitar erros de digitação. Além disso, se um valor fixo precisar ser alterado posteriormente, basta atualizar o valor da constante em um único lugar, em vez de procurar e modificar cada ocorrência desse valor no código.

Caso queira conhecer mais sobre esse recurso, deixarei algumas recomendações de leitura abaixo:

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software