Oi,
Vou pedir para você enviar as classes completas para fazer um teste real aqui no meu ambiente.
Tchauzin!
Oi,
Vou pedir para você enviar as classes completas para fazer um teste real aqui no meu ambiente.
Tchauzin!
segue as 3 classes compeletas Lina:
Classe cliente
[code]package com.squadra.caixa.persistencia.entidade;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import com.squadra.caixa.persistencia.io.CriaArquivo;
public class Cliente {
Long id;
String nome;
String cpf;
int a, b, i=0;
List listaContaCorrente = new ArrayList();
/**Encapsulamento get da variavel ID responsavel por retornar o conteudo da Variavel ID
* @return
*/
public Long getId() {
return id;
}
/**Encapsulamento set da variavel id responsavel por setar um conteudo a variavel id
* @param id
*/
public void setId(Long id) {
this.id = id;
}
/* (non-Javadoc)
* @Encapsulamento get da variavel nome responsavel por retornar o conteudo da variavel nome
*/
public String getNome() {
return nome;
}
/* (non-Javadoc)
* @Encapsulamento set da variavel nome responsavel por setar um conteudo a variavel nome
*/
public void setNome(String nome) {
this.nome = nome;
}
/**Encapsulamento get da variavel cpf responsavel por retornar o conteudo da variavel cpf
* @return
*/
public String getCpf() {
return cpf;
}
/**Encapsulamento set da variavel cpf responsavel por setar um conteudo a variavel cpf
* @param cpf
*/
public void setCpf(String cpf) {
this.cpf = cpf;
}
/* (non-Javadoc)
* Metodo toString responsavel por mostrar nome cpf e id do Cliente Cadastrado apos ser feito O cadastro.
*/
public String toString() {
return "- ID : " + id +"\n" +" - Nome : " + nome +"\n" +"- CPF : " +cpf;
}
public void adicionaContaCorrente (ContaCorrente contaCorrente){
listaContaCorrente.add(contaCorrente);
JOptionPane.showMessageDialog(null, "Conta incluida com Sucesso");
i++;
}
public void listarContacorrente (){
for(int i=0; i < listaContaCorrente.size(); i++){
if(this.listaContaCorrente.get(i) != null){
JOptionPane.showMessageDialog(null,"Conta Corrente Solicitada: \n"
+"Número da Conta: " +listaContaCorrente.get(i).getNumero() +"\n"
+"Saldo: " +listaContaCorrente.get(i).getSaldo() +"\n"
+"Limite Cheque Especial: " +listaContaCorrente.get(i).getLimiteChequeEspecial());
}else{
JOptionPane.showMessageDialog(null,"Este Cliente Não Possui Uma Conta Corrente");
}
}
}
public void arquivoContaCorrente( ){
String arquivo = " “;
for(int i = 0; i < listaContaCorrente.size(); i++){
arquivo+= listaContaCorrente.get(i).getNumero() +”;" +listaContaCorrente.get(i).getSaldo();
}
CriaArquivo io = new CriaArquivo();
io.criaArquivo(arquivo);
}
}
[/code]
Classe Banco
[code]package com.squadra.caixa.persistencia.entidade;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.naming.NotContextException;
import javax.swing.JOptionPane;
import com.squadra.caixa.persistencia.exceptions.Exceptions;
import com.squadra.caixa.persistencia.io.CriaArquivo;
public class Banco extends Cliente {
private String nome;
private String endereço;
int i=0;
int contadorCliente=0;
List<Cliente> listaClientes = new ArrayList<Cliente>();
/** Metodo get retorna um nome setado á variavel nome
* @return
*/
public String getNome() {
return nome;
}
/** Metodo set seta um nome á variavel nome
* @param nome
*/
public void setNome(String nome) {
this.nome = nome;
}
/** Metodo get retorna o endereço setado á variavel endereço
* @return
*/
public String getEndereço() {
return endereço;
}
/** Metodo set seta um endereço á variavel endereço
* @param endereço
*/
public void setEndereço(String endereço) {
this.endereço = endereço;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
public String toString() {
return "Nome: " + nome + " Endereço: " +endereço;
}
private Collection clientes;
public Collection getClientes(){
return clientes;
}
public void setClientes(Collection clientes) {
this.clientes = clientes;
}
/**
* @param Cliente cliente (variavel responsavel por receber objeto do tipo cliente)
* @return true (retorna verdadeiro se ocorrer o cadastro)
* @throws Exceptions (tratamento de exceção caso nao ocorra o cadastro)
* Método Utilizado para Cadastro de Clientes.
*/
public Cliente cadastrarCliente(Cliente cliente) throws Exceptions{
this.listaClientes.add(cliente);
Cliente cli = this.listaClientes.get(i);
i++;
return cli;
}
/**
* Método Utilizado Para Listar Clientes Cadastrados.
*/
public void listarClientes(){
for(int i=0 ; this.listaClientes.size() > i ; i++){
Cliente cli = this.listaClientes.get(i);
if(cli != null){
JOptionPane.showMessageDialog(null,"Usuários Cadastrados \n" +cli);
}else{
JOptionPane.showMessageDialog(null,"Não Existe Usuários Cadastrados");}
}
}
/**
* @param Long id (variável responsável por receber id digitado pelo usuário para a pesquisa do cliente).
* @return cliente (retora o cliente procurado)
* @throws Exceptions (tratamento de exceção caso nao ache o Cliente pesquisado)
* Método utilizado para a Pesquisa pelo ID do Cliente.
*/
public Cliente pesquisaCliente(Long id) throws Exceptions{
for( int i = 0; i < this.listaClientes.size() ; i++){
if(this.listaClientes.get(i) != null && this.listaClientes.get(i).getId().equals(id)){
Cliente cliente = this.listaClientes.get(i);
return cliente;
}
}
throw new Exceptions ("Cliente Não Encontrado");
}
/**
* @param Long id (variável responsável por receber o id solicitado para a exclusão do Cliente).
* @return cli (retorna o cliente excluído).
* @throws Exceptions (tratamento de exceção caso não exclua o cliente desejado).
* Método utilizado para exclusão de Clientes.
*/
public Cliente excluirCliente (Long id) throws Exceptions{
for(int i=0; i < this.listaClientes.size(); i++){
if(this.listaClientes.get(i)!= null && this.listaClientes.get(i).getId().equals(id)){;
String sim = JOptionPane.showInputDialog(null,"Deseja Realmente Excluir? \n" +listaClientes.get(i) +"\n" +"Sim ou Não ?");
if (sim.equalsIgnoreCase("sim")){;
Cliente cli = this.listaClientes.get(i);
this.listaClientes = null;
return cli;
}
}
}
throw new Exceptions ("Impossível Excluir \nExclusão Não Realizada");
}
public void incluirContaCorrente (Long id, ContaCorrente contaCorrente) throws Exceptions{
Cliente cli = pesquisaCliente(id);
cli.adicionaContaCorrente(contaCorrente);
}
public void imprimirContaCorrente(Long id) throws Exceptions{
Cliente cliente = new Cliente();
cliente =pesquisaCliente(id);
JOptionPane.showMessageDialog(null,"Cliente: \n" +"Nome: "+cliente.getNome() +"\n" +"CPF: " +cliente.getCpf() );
try{
cliente.listarContacorrente();
}catch(Exception e){
JOptionPane.showMessageDialog(null, " " +e.getMessage());
}
}
public void arquivo (){
String msg = "ID: ";
for(int i=0; i < listaClientes.size(); i++){
msg+= +listaClientes.get(i).getId() +" " +"Nome: " +listaClientes.get(i).getNome() +" " +"CPF: " +listaClientes.get(i).getCpf() +"\n" ;
}
CriaArquivo c = new CriaArquivo();
c.criaArquivo(msg);
}
} [/code]
Classe IO:
[code]package com.squadra.caixa.persistencia.io;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import com.squadra.caixa.persistencia.entidade.Cliente;
public class CriaArquivo {
public void criaArquivo (String msg){
File file = null;
FileWriter fileWriter = null;
Cliente cli = null;
try {
file = new File(System.getProperty(“user.dir”) + File.separator + “clientes.doc”);
fileWriter = new FileWriter(file, true);
cli = new Cliente ();
fileWriter.write(msg);
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fileWriter != null){
try {
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
[/code]
Oi,
Faltou a classe ContaCorrente
Tchauzin!
AI esta a classe ContaCorrente
[code]package com.squadra.caixa.persistencia.entidade;
public class ContaCorrente extends Conta {
double limiteChequeEspecial;
public double getLimiteChequeEspecial() {
return limiteChequeEspecial;
}
public void setLimiteChequeEspecial(double limiteChequeEspecial) {
this.limiteChequeEspecial = limiteChequeEspecial;
}
public String toString() {
return super.toString() + " - Limite cheque especial: " + limiteChequeEspecial;
}
}[/code]
Oi,
Agora faltou a classe Conta e a classe que roda essa aplicação (main). rsrs
pelo visto não vai ser facil!!! tem muitos extends! =D
Obs: Se preferir, pode mandar o pacote zipado para meu e-mail, assim que possível analisarei!
Tchauzin!
Oi,
O que acontece é que a listaContaCorrente zerava ao sair da classe Cliente.
Então, tive que mudar o método escreveArquivo() da classe Banco.
[code]public void escreveArquivo() {
String linha = "";
for (int i = 0; i < this.listaClientes.size(); i++) {
Cliente c = (Cliente) this.listaClientes.get(i);
linha += c.getId() + ";" + c.getNome() + "," + c.getCpf() + "\n";
try
{
c = pesquisaClientes(c.getId());
if (c.listaContaCorrente.size() > 0) {
linha += c.listaContaCorrente.get(i).numero + ";" + c.listaContaCorrente.get(i).saldo + "," + c.listaContaCorrente.get(i).getLimiteChequeEspecial() + "\n";
}
}
catch (ClienteExceptions e)
{
// Cliente não encontrado.
}
}
IO arquivo = new IO();
arquivo.criaArquivo(linha);
}[/code]
Ou seja, primeiro é pesquisado o cliente e depois busca a conta corrente dele. Entendeu ?
Tchauzin!
Lina muito muito maiiis muitooooo obrigado pela ajuda que vc me deu!!!