import java.util.Scanner;
public class BancoApp {
public static void main(String[] args) {
ClienteBanco clienteBanco = new ClienteBanco();
clienteBanco.setNome("Carlos Mauricio Cerdeira");
clienteBanco.setSaldoConta(2500.00);
clienteBanco.setTipoConta("Corrente");
Scanner scanner = new Scanner(System.in);
int opcaoDesejada = 0;
double valorOperacao = 0;
System.out.println("""
***********************
Dados iniciais do cliente:
Nome: %s
Tipo conta: %s
Saldo inicial: R$ %.2f
***********************
""".formatted(clienteBanco.getNome(),
clienteBanco.getTipoConta(),
clienteBanco.getSaldoConta()));
while(opcaoDesejada != 4) {
System.out.println("""
Operações
1- Consultar saldos
2- Receber valor
3- Transferir valor
4- Sair
Digite a opção desejada:
""");
opcaoDesejada = scanner.nextInt();
switch (opcaoDesejada) {
case 1: //Consultar saldos
System.out.println(String.format("Saldo atual: R$ %.2f", clienteBanco.getSaldoConta()));
break;
case 2: //Receber valor
System.out.println("Informe o valor a receber: ");
valorOperacao = scanner.nextDouble();
clienteBanco.recebeTransferencia(valorOperacao);
System.out.println(String.format("Saldo atual: R$ %.2f", clienteBanco.getSaldoConta()));
break;
case 3: //Transferir valor
System.out.println("Informe o valor que deseja transferir: ");
valorOperacao = scanner.nextDouble();
clienteBanco.fazTransferencia(valorOperacao);
System.out.println(String.format("Saldo atual: R$ %.2f", clienteBanco.getSaldoConta()));
break;
case 4: //Sair
System.out.println("Finalizando programa.");
break;
default:
System.out.println("Opção inválida.");
break;
}
}
scanner.close();
}
}
class ClienteBanco {
private String nome = "";
private String tipoConta = "";
private double saldoConta = 0;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTipoConta() {
return tipoConta;
}
public void setTipoConta(String tipoConta) {
this.tipoConta = tipoConta;
}
public double getSaldoConta() {
return saldoConta;
}
public void setSaldoConta(double saldoConta) {
this.saldoConta = saldoConta;
}
void recebeTransferencia(double valorRecebeTransferencia) {
this.setSaldoConta(valorRecebeTransferencia + this.getSaldoConta());
}
void fazTransferencia(double valorFazTransferencia) {
if (this.getSaldoConta() < valorFazTransferencia) {
System.out.println("Não há saldo suficiente para fazer essa transferência.");
} else {
this.setSaldoConta(this.getSaldoConta() - valorFazTransferencia);
}
}
void enviaPix(double valorEnviaPix) {
this.fazTransferencia(valorEnviaPix);
}
void recebePix(double valorRecebePix) {
this.recebeTransferencia(valorRecebePix);
}
}