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();
}
}