image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Tiago Santos
Tiago Santos10/05/2024 18:09
Compartilhe

Como resolver o Desafio Condições, Loops e Exceções na Prática com Java 1 / 5 - Operações Bancárias Simples com Switch

    Olá pessoal tudo bom?

    Seguinte o exercício é bem simples de entender e não tem muito mistério e aqui tentarei descrever algumas das dicas em baby-steps(passos-a-passo) para ajudar a solucionar esse desafio:

    1º Antes de tudo é interessante pensar em que tipo de cenário vamos desenvolver a solução em JAVA em nosso caso ,trata-se de uma aplicação bancária. E como toda a aplicação bancária ela deve permitir o usuário realizar depósitos,saques e consultar o seu saldo a todo instante.

    2º O exercício pede que seja inserido um menu com as sequintes opções, mas isso não é necessário pois a idéia mesmo, é entender e focar mais na tabela abaixo como deve ser de fato os dados de entrada e suas respectivas saídas.

    image

    O usuário informa um valor, como por exemplo o valor 1 e de acordo com a tabela é interessante sempre informar ao usuário o valor atual mostrando através da instrução:

    System.out.println("Saldo atual: "+saldo);
    

    3° Vamos aplicar toda a nossa lógica e a nossa regra de negócio, caso o usuário informe um número inteiro, que será a opção escolhida e a saída esperada de acordo com a tabela de requerimento ( descrita na step 2) ficando o código final assim:

    image

    Aqui é a minha solução apresentada, a idéia é você criar os cases (1...2..3..4) e no caso do case 2 pedir que o usuário informe um valor e criar uma varíavel para saque e após apenas "decrementar" com a varíavel saldo

    ficando :

    saldo -= saque;
    

    Essa foi a minha solução para o desafio,

    Fico a disposição em que puder ajudar.

    Best regards/ Atenciosamente

    Tiago Ribeiro Santos

    Compartilhe
    Comentários (3)

    WS

    Wilyan Silva - 14/05/2024 09:28

    Muito obrigado! Estava colocando muita coisa sem necessidade.

    EDGAR SANGALI
    EDGAR SANGALI - 11/05/2024 10:07

    Galera.... Segue a minha resolução... Caso alguém tenha alguma sugestão de melhoria ou dúvidas, estou à disposição.


    import java.util.Locale;

    import java.util.Scanner;


    public class App {

        public static void main(String[] args) {

           

            Locale.setDefault(Locale.US);

            Scanner sc = new Scanner(System.in);

           

            double Saldo = 0.0;            

            int opcao = sc.nextInt();


           while (opcao != 0) {        

                 

                switch (opcao) {                

                                 

                    case 1:                                          

                    double ValorDepositado = sc.nextDouble();

                    Saldo += ValorDepositado;

                    System.out.printf("Saldo Atual: %.1f", Saldo);

                    opcao = sc.nextInt();

                    break;                


                    case 2:                

                    double ValorSacado = sc.nextDouble();


                    if (ValorSacado <= Saldo)                {

                        Saldo-=ValorSacado;                    

                    }

                    else{

                        System.out.println("Saldo Insuficiente");

                    }                    

                    opcao = sc.nextInt();

                    break;                


                    case 3:

                   

                    System.out.printf("Saldo Atual: %.1f", Saldo);

                    opcao = sc.nextInt();

                    break;              

               

                    default:

                    break;

                }

                   

                  if(opcao==0)

                  {

                    System.out.println("Programa Encerrado");

                  }  


    Att.

    Marcelo Pereira
    Marcelo Pereira - 10/05/2024 18:54

    TOP. Soluções interessantes. Valeu por compartilhar!