Um pouco depois das aulas, pude melhorar meu código:
import java.util.Scanner;
public class MiniBanco {
public static void main(String[] args) {
int input = 0;
double saldo = 2500.0;
double transferencia;
Scanner n = new Scanner(System.in);
String menu = """
Operações:
1- Consultar saldos
2- Receber valor
3- Transferir valor
4- Sair
Digite a opção desejada:
""";
System.out.println("************************");
System.out.println("Dados iniciais do cliente:\n");
System.out.println("Nome: Jacqueline Oliveira");
System.out.println("Tipo conta: Corrente");
System.out.println("Saldo inicial R$:" + saldo);
System.out.println("\n************************");
while (input != 4) {
System.out.println(menu);
input = n.nextInt();
if (input == 1) {
System.out.println("O saldo atual é R$" + saldo);
} else if (input == 2) {
System.out.println("Informe o valor a receber:");
saldo += n.nextDouble();
System.out.println("Saldo atualizado R$" + saldo);
} else if (input == 3) {
System.out.println("Informe o valor que deseja transferir:");
transferencia = n.nextDouble();
if (transferencia > saldo) {
System.out.println("Não há saldo suficiente para fazer essa transferência.");
} else {
saldo -= transferencia;
}
System.out.println("Saldo atualizado R$" + saldo);
} else if (input == 4) {
System.out.println("Saindo do programa...");
} else {
System.out.println("Opção inválida");
}
}
}
}
Fiz algumas correções para que os centavos sejam aceitos e reduza o uso de println()
. Por outro lado, o mais correto seria tratar as duas casas decimais dos centavos como números inteiros por causa do erro de aproximação. Quais melhorias ainda deveria fazer?