Inventei um cheque especial que nao existia, gostaram? ;)
No que eu posso melhorar?
void main() {
double saldo = 2500;
String tipoConta = "Cliente Especial";
int opcao = 0;
Scanner leitura = new Scanner(System.in);
while (opcao != 5) {
System.out.printf("""
***********************
Nome: Joãozinho da Silva
Tipo conta: %s
Saldo atual: R$ %.2f
***********************
""", tipoConta, saldo);
System.out.println("""
Operações
1- Consultar saldo
2- Receber valor
3- Retirar valor
4- Alterar o tipo de conta
5- Sair
""");
System.out.println("ESCOLHA UMA OPÇÃO:");
opcao = leitura.nextInt();
switch (opcao) {
case 1:
System.out.printf("Seu SALDO é de R$%.2f %n", saldo);
break;
case 2:
System.out.println("Digite o valor recebido: ");
double recebido = leitura.nextDouble();
saldo += recebido;
System.out.printf("R$%.2f foram adicionados a sua conta.", recebido);
break;
case 3:
System.out.println("Digite o valor retirado: ");
double retirado = leitura.nextDouble();
if (retirado <= saldo) {
saldo -= retirado;
System.out.printf("R$%.2f foram retirados a sua conta.%n", retirado);
} else {
if (tipoConta.equals("Conta Corrente")) {
System.out.println("Cliente SEM ACESSO ao cheque especial");
} else {
if (saldo - retirado >= -500) {
saldo -= retirado;
System.out.printf("R$%.2f foram retirados a sua conta.%n", retirado);
System.out.printf("Seu saldo está negativo em R$%.2f.%n", saldo * -1);
} else {
System.out.println("Esta retirada ultrapassa seu limite de cheque especial.");
}
}
}
break;
case 4:
if (tipoConta.equals("Cliente Especial") && saldo < 0) {
System.out.printf("Seu saldo está negativo em R$%.2f.%n", saldo * -1);
System.out.println("Seu tipo de conta são pode ser alterado enquanto o saldo for negativo");
} else {
if (tipoConta.equals("Conta Corrente")) {
System.out.println("você possui uma CONTA CORRENTE.");
System.out.println("Deseja alterar seu tipo de conta para CLIENTE ESPECIAL?");
System.out.println("1) SIM");
System.out.println("2) NÃO");
int trocaConta = leitura.nextInt();
switch (trocaConta) {
case 1:
tipoConta = "Cliente Especial";
System.out.println("Conta Alterada com Sucesso");
break;
case 2:
System.out.println("Sua conta não foi alterada.");
break;
default:
System.out.println("Opção inválida!");
}
} else {
System.out.println("você possui uma conta de CLIENTE ESPECIAL.");
System.out.println("Deseja alterar seu tipo de conta para CONTA CORRENTE?");
System.out.println("1) SIM");
System.out.println("2) NÃO");
int trocaConta = leitura.nextInt();
switch (trocaConta) {
case 1:
tipoConta = "Conta Corrente";
System.out.println("Conta Alterada com Sucesso");
break;
case 2:
System.out.println("Sua conta não foi alterada.");
break;
default:
System.out.println("Opção inválida!");
}
}
}
break;
case 5:
System.out.println("Até logo! :D");
break;
default:
System.out.println("OPÇÃO INVÁLIDA");
}
}
}