Escolar Documentos
Profissional Documentos
Cultura Documentos
de Cadastro básico
(CreateReadUpdateDelete)
Armazenando em ArrayList
• Update (atualiza)
• PesquisaPorNome (parte do nome):
• Existem vários processos para organizar estas fases (Scrum* - método ágil)
Qual foi visto em Eng. de Sw?
• Etapas:
- Implementar as funcionalidades numa ordem que possa ir testando*:
(1)listar (2)cadastrar (3)remover (4) alterar
- Algumas funcionalidades poderão necessitar de novos métodos que auxiliarão na implementação da
funcionalidade
* Entrega com valor.
Fase de Análise: pensando nas classe envolvidas e
seus papeis
• Diagrama de Classe
Agencia
ContaCorrente
- contasLista: ArrayList<ContaCorrente>
- numero: int
gerencia - saldo: float
+ criarNovaConta( )
- nome: String
+ depositoConta( )
+ saqueConta( )
+ listarConta( )
+ setNome(nome: String)
+ removerConta( )
+ getNome(): String
+ pesquisaContaNome( )
..... get .. set
4
Revendo:
• As classes:
• ContaCorrente
• Agencia (GerenteContaCorrente)
• AgenciaTestadora
Agencia_v1.java
Adicionar o objeto que terá as informações ContaCorretente com os GET/SET
switch( opc )
{
Criar os métodos que serão chamados nas opções do menu case 1:
//Lista todos as contas corrrente criarNovaConta();
public void listarConta( ){ break;
Agencia_v1.java
Testar Agencia_v1.java
11
Versão 2 - Implementar as funcionalidades uma de cada vez e testar.
listarConta
GerenteContaCorrente (Agencia)
• Listar
- Verificar se esta vazio ( nenhum conta cadastrada): arrayList vazio isEmpty()
if(contasLista.isEmpty())
{
System.out.print("\n NAÕ EXISTE CONTA CADASTRADA - LISTAGEM VAZIA");
.....
return;
}
- Se existir conta cadastrada, mostrar apenas as contas que tem dados
- Percorre o ArrayList, se possuir conta mostra
for (ContaCorrente c : contasLista) {
// System.out.printf("\n#:%d -nome: %s - saldo: %.2f", c.getNumero(), c.getNome(), c.getSaldo());
c.mostra();
}
Agencia_v2.java
Versão 3 - Implementar as funcionalidades
cadastrar ..criaNovaConta()
GerenteContaCorrente (Agencia)
• criarNovaConta()
• Ler o numero da conta – verificar se não existe conta com este número
se existir informar e voltar ao menu **
• Ler nome e saldo
• Confirmar criação
• Criar o objeto com os valores
• Adiciona no ArrayList => arraylist.add(objeto)
Agencia_v3.java
Versão 4 - Implementar as funcionalidades
remover ..removerConta()
GerenteContaCorrente (Agencia)
• removerConta()
• Se NÃO existir contas cadastradas, avisar e retornar ao menu *
• Ler o numero da conta
• verificar se existe conta com este número se NÃO existir informar e voltar ao menu **
• mostrar os dados da conta a ser removida
• confirmar exclusão **
• excluir: variável = null;
Agencia_v5.java
Consultado parte do nome: regionMatches()
método da classe String
(manipulação de string = string.h)
• Método da classe String
public boolean regionMatches( int toffset, String other, int ooffset, int len)
• toffset -- o deslocamento inicial da sub-região neste string.
• other -- um argumento string.
• ooffset -- o deslocamento inicial da sub-região no argumento String.
• len -- o numero de caracteres para serem comparados.
• Ex: String nome = new String(“Ana Maria”) // comparando 3 primeiros
caracteres
nome.regionMatches(0, “Ana Maria”, 0, nome.length()) )
//contasLista vazia
if(contasLista.isEmpty())
{
System.out.print("\n NAÕ EXISTE CONTA CADASTRADA PARA PESQUISAR ");
System.out.print("\nDigite qq tecla para retornar ao menu");
entrada.next();
return;
}
//contasLista vazia
if(contasLista.isEmpty())
..
ContaCorrente conta;
if ( localizacao == -1)
{
System.out.print("\n --- NAO JA EXISTE UMA CONTA COMO ESTE NUMERO ---");
System.out.print("\n --- Digite qq tecla para retornar ao menu");
entrada.next();
return ;
}
continua
//Recupera a Conta mostra o dados e pede o valor do deposito
conta = contasLista.get(localizacao);
System.out.printf("#:%d -nome: %s - saldo: %.2f", conta.getNumero(),conta.getNome(),
conta.getSaldo());
... Agencia_v6.java
//Confirma deposito e mostra os novos valores
System.out.print("\nValor do deposito: " );
valor = entrada.nextFloat();
//Confirma deposito
System.out.print("\n Deseja CONFIRMAR DEPOSITO neste conta? (S)Sim ou (N)Nao: ");
String opcao = entrada.next();
• Não esqueça:
• (1) de deixar a interface com o usuário bonita!!!
• (2) implementar novas funcionalidades e coisas a MAIS que este exemplo.