Como resolver o Desafio Condições, Loops e Exceções na Prática com Java 1 / 5 - Operações Bancárias Simples com Switch
- #Java
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.

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:

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




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.
WS
Muito obrigado! Estava colocando muita coisa sem necessidade.
TOP. Soluções interessantes. Valeu por compartilhar!