import java.util.Scanner;
public class Banco {
// Propriedades
private String nome = "";
private String tipoConta="";
private double saldo = 0.0;
// Metodos da propriedade nome
public String getNome() {
return nome;
}
public void setNome(String valor){
nome = valor;
}
// Metodos da propriedade tipoConta
public String getTipoConta() {
return tipoConta;
}
public void setTipoConta(String valor){
tipoConta = valor;
}
// Metodos da propriedade saldo
public double getsaldo() {
return saldo;
}
public void setsaldo(double valor){
saldo = valor;
}
// Metodo cabecalho
public void cabecalho(){
System.out.println("******************************");
System.out.println("Nome do cliente: " + getNome());
System.out.println("Tipo de conta: " + getTipoConta());
System.out.println("Saldo Atual: R$ " + getsaldo());
System.out.println("******************************");
}
// Metodo transferir
public boolean transferir(double valor){
if (valor>this.getsaldo()) {
System.out.println("Valor a ser transferido é maior que que o saldo da conta.");
return false;
}
else {
this.setsaldo(this.getsaldo()-valor);
return true;
}
}
// Metodo depositar
public void depositar(double valor){
this.setsaldo(this.getsaldo()+valor);
}
// PRINCIPAL
public static void main(String[] args) {
int opcao= 0; // Opção do menu
double valor; // valor a ser movimentado
String menu= """
*** Digite uma opção ***
1 - Consultar saldo
2 - Transferir valor
3 - Depositar valor
4 - Fim
""";
Banco meuBanco = new Banco();
meuBanco.setsaldo(12345.67);
meuBanco.setTipoConta("Conta Poupança");
meuBanco.setNome("Maria José");
meuBanco.cabecalho();
// Menu
Scanner leitura = new Scanner(System.in);
while(opcao!=4){
System.out.println(menu);
opcao = leitura.nextInt();
switch (opcao){
case 1: meuBanco.cabecalho();
break;
case 2:
System.out.println("Qual valor você deseja transferir?");
valor = leitura.nextDouble();
if (meuBanco.transferir(valor)) {
meuBanco.cabecalho();
}
else {
System.out.println("Valor não transferido");
}
break;
case 3:
System.out.println("Qual valor você deseja depositar?");
valor = leitura.nextDouble();
meuBanco.depositar(valor);
meuBanco.cabecalho();
break;
case 4: break;
default:
System.out.println("Opção inválida.");
}
}
}
}