Fiz o desafio dessa forma:
import java.util.Scanner;
public class Desafio { public static void main(String[] args) {
String nome = "Ana Flavia Joanes";
String tipoConta = "Corrente";
double saldo = 10500;
int opcao = 0;
double valor = 0;
String contaTranferencia = "3278";
System.out.println("***********************************************");
System.out.println("Nome do cliente: " + nome);
System.out.println("Tipo de Conta: " + tipoConta);
System.out.println("Saldo da conta: R$ " + saldo);
System.out.println("***********************************************");
Scanner leitor = new Scanner(System.in);
String menu = """
*** Digite a opção desejada:
1- Consultar Saldo
2- Transferi
3-Depositar
4-Sacar
5-Sair
""";
while (opcao != 5) {
System.out.println(menu);
opcao = leitor.nextInt();
switch (opcao) {
case 1:
System.out.println("Saldo: R$" + saldo);
System.out.println("***********************************************");
break;
case 2:
System.out.println("Conta que recebera a transferência: " + contaTranferencia);
System.out.println("Valor da transferência: ");
valor = leitor.nextDouble();
if ( saldo<valor) {
System.out.println("Saldo insuficiente!");
System.out.println("***********************************************");
} else {
System.out.println("Transferência realizada com sucesso!\n Saldo atualizado: R$ " + (saldo -=valor));
System.out.println("***********************************************");
break;
}
case 3:
System.out.println("Valor do Deposito: ");
valor = leitor.nextDouble();
if (valor < 1) {
System.out.println("Valor minimo para deposito: R$ 1!");
System.out.println("***********************************************");
} else {
System.out.println("Deposito realizado com sucesso!\n Saldo atualizado: R$ " + (saldo +=valor));
System.out.println("***********************************************");
break;
}
case 4:
System.out.println("Valor de saque: ");
valor = leitor.nextDouble();
if ( saldo<valor) {
System.out.println("Saldo insuficiente!");
System.out.println("***********************************************");
} else {
System.out.println("Saque realizado com sucesso!\n Saldo atualizado: R$ " + (saldo -=valor));
System.out.println("***********************************************");
break;
}
}
}
}
}
Porém quando cai nas opções que o saldo para deposito, transferência e saque são insuficientes, é informado a negativa e vai para o caso seguinte.
Consegui resolver adicionando o comando break entre as condiconais if e else,porem gostaria de saber por que sem ele a logica não funcionou.