Bom dia Maria! Tudo bem com você?
Obrigado por compartilhar seu código com a comunidade Alura. Testei seu código e ele funciona, porém, temos alguns ajustes para fazer:
A mensagem "Operação inválida" está sendo exibida para qualquer opção que não seja 4, mesmo quando a operação é válida. Para corrigir isso, a verificação deve ser feita apenas se a opção não for 1, 2, 3 ou 4:
Ao consultar o saldo, você pode adicionar um espaço para melhorar a legibilidade. Atualmente está saindo o nome da pessoa junto com a mensagem do saldo. Exemplo RafaelSeu saldo é 500.0
No trecho onde você verifica se o valor a ser transferido é maior que o saldo disponível, a condição está comparando com novoSaldo
, que sempre será zero. Você deve comparar com saldo
.
Abaixo, o código completo após as mudanças:
import java.util.Scanner;
public class sistemabancario {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("*********************************");
System.out.println("Dados iniciais do Cliente: ");
System.out.println("Nome: ");
String nome = scanner.nextLine();
System.out.println("Tipo conta: ");
String tipoConta = scanner.nextLine();
System.out.println("Saldo Atual: ");
double saldo = scanner.nextDouble();
System.out.println("*********************************");
int opcao = 0;
double novoSaldo = 0;
while (opcao != 4) {
System.out.println("*****Operaçôes dispóniveis******* ");
System.out.println(" 1 - Consultar saldos: ");
System.out.println(" 2 - Receber valor: ");
System.out.println(" 3 - Transferir valor: ");
System.out.println(" 4 - Sair: ");
System.out.println(" Digite a opção desejada, " + nome + ":");
int escolhaUsuario = scanner.nextInt();
System.out.println("*********************************");
opcao = escolhaUsuario;
if (escolhaUsuario == 1) {
System.out.println(nome + ", seu saldo é " + saldo);
}
if (escolhaUsuario == 2) {
System.out.println("Digite o valor a receber: ");
double saldoRecebido = scanner.nextDouble();
saldo = saldo + saldoRecebido;
System.out.println("Novo saldo em conta: " + saldo);
}
if (escolhaUsuario == 3) {
System.out.println("Digite o valor a transferir: ");
double valorTransferir = scanner.nextDouble();
if (valorTransferir > saldo) {
System.out.println("Saldo insuficiente!");
}else {
saldo = saldo - valorTransferir;
System.out.println("Saldo atual é " + saldo);
}
}
if (escolhaUsuario < 1 || escolhaUsuario > 4){
System.out.println("Operação inválida");
}
}
}
}
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