Created
April 20, 2014 01:22
-
-
Save samueltcsantos/11102438 to your computer and use it in GitHub Desktop.
Gerenciando Contas Bancárias
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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