Erro agenda ( conforme sugestão )

0 respostas
A

Erros: consigo cadastrar mais não consigo ler, da o seguinte erro:

java.lang.ArrayIndexOutOfBoundsException: 0
at Editor.main(Editor.java:32)

abaixo segue o modulo construtor, e o modulo menu.

ha e também queria ter uma ideia de como excluir um registro cadastrado.

modulo construtor

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import java.io.Serializable;
public class Agenda implements Serializable {

private String Nome;

private String Endereco;

private String Telefone;
//--------------------------------------------
// Grava os dados
//--------------------------------------------
  private void writeObject(ObjectOutputStream s) throws Exception{
  	s.defaultWriteObject();
  	s.writeObject(getNome());
  	s.writeObject(getEndereco());
  	s.writeObject(getTelefone());
  }
//--------------------------------------------
// Lê os dados
//--------------------------------------------
  private void readObject( ObjectInputStream s) throws Exception{
  	s.defaultReadObject();
  	setNome((String)s.readObject());
  	setEndereco((String)s.readObject());
  	setTelefone((String)s.readObject());
  }
//--------------------------------------------
// entrada zerada
//--------------------------------------------
  public Agenda() {
	setNome("sem  nome");
	setEndereco("sem endereço");
	setTelefone("sem telefone");
  }
//--------------------------------------------
// entrada com valores
//--------------------------------------------
  public Agenda(String mNome, String mEndereco, String mTelefone){
	setNome(mNome);
	setEndereco(mEndereco);
	setTelefone(mTelefone);
  }
//---------------------------------------
// Metodos set
//---------------------------------------
  public void setNome(String mN) {
	String tmp = mN.toUpperCase().trim();
	if (tmp.equals("")){ 
		System.out.println("Nome inválido"); 
		Nome = "";}
	else {
	    Nome = tmp; }
  }

  public void setEndereco(String mE) {
    String tmp = mE.toUpperCase().trim();
    if (tmp.equals("")){ 
    	System.out.println("Endereço inválido"); 
    	Endereco = "";}
    else {
    Endereco = tmp;}
  }

  public void setTelefone(String mT) {
    String tmp = mT.toUpperCase().trim();
    if (tmp.equals("")){ 
    	System.out.println("Telefone inválido"); 
    	Telefone = "";}
    else {
    Nome = tmp;}
  }

//---------------------------------------
// Metodos get
//---------------------------------------
  public String getNome()      { return Nome; }

  public String getEndereco()  { return Endereco;}

  public String getTelefone()  { return Telefone;}

  //---------------------------------------
  // Metodos toString / Saida formatada
  //---------------------------------------
    public String toString() {
  	String tS = "";
  	tS = Nome + "\n"+Endereco+"\n"+Telefone+"\n";
  	return tS;
    }
  //---------------------------------------
  // Metodos toString / Saida formatada
  // com identificação do campo
  //---------------------------------------
    public String toStringIdent() {
   	  String tS = "";
      tS = "Nome......:"+Nome    +"\n"+
	       "Endereço..:"+Endereco+"\n" +
		   "Matricula.:"+Telefone+"\n";
      return tS;
    }

}

modulo menu

/*

  • Created on 12/08/2005
  • TODO To change the template for this generated file go to
  • Window - Preferences - Java - Code Style - Code Templates
    */

/**

  • @author Ailson
  • TODO To change the template for this generated type comment go to
  • Window - Preferences - Java - Code Style - Code Templates
    /
    import java.io.
    ;
    import java.util.Vector;
    import javax.swing.*;
public class AgendaMenu {

static Vector vet = new Vector();

public static void main(String[] args) {

Agenda magenda = new Agenda();

try{

int op=0;

while(op!=5){

op = Integer.parseInt(JOptionPane.showInputDialog(1 - INCLUIR \n   +

2 - EXCLUIR \n   +

3 - GRAVAR  \n   +

4 - LISTAR  \n\n +

5 - SAIR));

if(op==1){ incluir(); };							

//if(op==2){ excluir(); }

//if(op==3){ gravar(); }

if(op==4){ listar(); }

}

}catch(Exception ex){

System.out.println(Erro:+ex+"-"+args[0]);

}

System.exit(0);

}

//---------------------------------------------

// função pra listar

//---------------------------------------------

public static void listar() throws Exception{

FileInputStream   f2 = new FileInputStream(c:/agenda.reg);

ObjectInputStream in = new ObjectInputStream(f2);

Vector vet = (Vector) in.readObject();
for(int i=0;i<vet.size();i++){
		System.out.println(((Agenda)vet.get(i)).toString());
	}
	f2.close();
	in.close();
  }
//---------------------------------------------
// função pra listar
//---------------------------------------------
  public static void incluir() throws Exception{
	Agenda a = new Agenda();
	a.setNome(JOptionPane.showInputDialog("Nome:"));
	a.setEndereco(JOptionPane.showInputDialog("Endereço:"));
	a.setTelefone(JOptionPane.showInputDialog("Telefone:"));
	
	vet.addElement(a);
	FileOutputStream f = new FileOutputStream("c:/agenda.reg"); 
	ObjectOutputStream s = new ObjectOutputStream(f);
	s.writeObject(vet);
	s.flush();	
	
	f.close();
	s.close();
	
  }

}

Criado 12 de agosto de 2005
Respostas 0
Participantes 1