Skip to content

Instantly share code, notes, and snippets.

@samueltcsantos
Created April 20, 2014 01:22
Show Gist options
  • Save samueltcsantos/11102438 to your computer and use it in GitHub Desktop.
Save samueltcsantos/11102438 to your computer and use it in GitHub Desktop.
Gerenciando Contas Bancárias
package controllers;
import java.util.ArrayList;
import java.util.List;
import models.Conta;
/**
* Gerenciador de Contas, permite ao usuario interagir com a classe conta.
*
* @author xpto
*
*/
public class GerenciadorDeConta {
List<Conta> listaDeContas;
public GerenciadorDeConta(){
listaDeContas = new ArrayList<Conta>();
}
/**
* #Padrão GRASP Creator
* Cria uma conta e encapsula do usuário os detalhes da criação.
*
* @param titular
* @param agencia
* @param numero
* @param saldo
* @return
*/
public void criarConta(String titular, String agencia, int numero , double saldo){
Conta conta = new Conta();
conta.setTitular(titular);
conta.setAgencia(agencia);
conta.setNumero(numero);
conta.setSaldo(saldo);
adicionarConta(conta);;
}
/**
* Adiciona uma conta na lista de contas.
*
* @param conta
*/
public void adicionarConta(Conta conta){
listaDeContas.add(conta);
}
/**
* Pesquisa uma conta pelo seu numero , caso nao localize
* uma conta vazia eh retornada.
*
* @param numeroDaConta
* @return
*/
public Conta pesquisaConta(int numeroDaConta){
for (Conta conta : listaDeContas){
if (conta.getNumero() == numeroDaConta){
return conta;
}
}
//caso nao localize entao retorne um objeto vazio.
return new Conta();
}
/**
* Pesquisa o saldo da conta com numero informa, caso a conta
* nao seja localizada um excecao eh lancada informando que a conta
* nao existe.
*
* @param numeroDaConta
* @return
* @throws Exception
*/
public double pesquisarSaldo(int numeroDaConta) throws Exception {
Conta conta = pesquisaConta(numeroDaConta);
if (conta.getNumero()==0)
throw new Exception("Conta solicitada nao existe!");
return conta.getSaldo();
}
/**
* Pesquisa a agencia de uma conta com o numero informado, o metodo
* tambem lanca excecao caso a conta nao exista.
*
* @param numeroDaConta
* @return
* @throws Exception
*/
public String pesquisarAgencia(int numeroDaConta) throws Exception {
Conta conta = pesquisaConta(numeroDaConta);
if (conta.getNumero()==0)
throw new Exception("Conta solicitada nao existe!");
return conta.getAgencia();
}
/**
* Pesquisa a conta informa e se ela existir atualizar o nome do titular.
*
* Uma excecao eh lancada caso a conta nao seja localizada.
*
* @param numeroDaConta
* @param novoNome
* @return
* @throws Exception
*/
public void atualizarNomeDoTitular(int numeroDaConta, String novoNome) throws Exception {
Conta conta = pesquisaConta(numeroDaConta);
if (conta.getNumero()==0)
throw new Exception("Conta solicitada nao existe!");
conta.setTitular(novoNome);
}
/**
* Remove uma conta se a mesma existir.
*
* @param numeroDaConta
*/
public void removerConta(int numeroDaConta){
Conta conta = pesquisaConta(numeroDaConta);
if (listaDeContas.contains(conta))
listaDeContas.remove(conta);
}
/**
* Lista todas as contas exibindo as informacoes.
*/
public String listarContas(){
if (listaDeContas.isEmpty()){
return "Nao ha Contas na lista de Conta!";
}
else {
String resultado = "";
for (Conta conta : listaDeContas){
resultado +=
" Numero: " + conta.getNumero() +
"\t Agencia: " + conta.getAgencia() +
"\t Titular: " + conta.getTitular() +
"\t Saldo: " + conta.getSaldo() +"\n";
}
return resultado;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment