我是一名IT学生,现在是时候用Java完成我的最终项目了。我遇到了很多问题,这个问题我无法解决,而且我真的很沮丧。
我的代码是这样的:
在Admin类中:
public ArrayList cos_info = new ArrayList();
public ArrayList cas_info = new ArrayList();
public int cos_count = 0 ;
public int cas_count = 0 ;
void coustmer_acount() throws FileNotFoundException, IOException{
String add=null;
do{
person p = new person() ;
cos_info.add(cos_count, p);
cos_count ++ ;
add =JOptionPane.showInputDialog("Do you want to add more coustmer..\n'y'foryes ..\n 'n'for No ..");
}
while(add.charAt(0) == 'Y'||add.charAt(0)=='y');
writenew_cos();
// add_acounts();
}
void writenew_cos() throws IOException{
ObjectOutputStream aa = new ObjectOutputStream(new FileOutputStream("coustmer.txt"));
aa.writeObject(cos_info);
JOptionPane.showMessageDialog(null,"Added to file done sucessfuly..");
aa.close();
}
在Coustmer课程中:
void read_cos() throws IOException, ClassNotFoundException{
person p1= null ;
int array_count = 0;
ObjectInputStream d = new ObjectInputStream(new FileInputStream("coustmer.txt"));
JOptionPane.showMessageDialog(null,d.available() );
for(int i = 0;d.available() == 0;i++){
a.add(array_count,(ArrayList) d.readObject());
array_count++;
JOptionPane.showMessageDialog(null,"Haaaaai :D" );
JOptionPane.showMessageDialog(null,array_count );
}
d.close();
JOptionPane.showMessageDialog(null,array_count +"1111" );
for(int i = 0 ; i<array_count&& found!= true ; i++){
count ++ ;
p1 =(person)a.get(i);
user=p1.user;
pass = p1.pass;
// cos_checkpass();
}
}
它只打印JOptionPane.showMessageDialog(null,d.available() );
并有一个例外。这里a.add(array_count,(ArrayList) d.readObject());
p.s:来自我自己的类的person对象,它是Serializable。
答案 0 :(得分:0)
非常确定您编写的任何类都不应该抛出ClassNotFoundException
答案 1 :(得分:0)
我建议在你的方法调用周围放一个try / catch,它会在catch
中抛出异常catch(Exception ex){
ex.printStackTrace();
}
要找出错误来自哪里,它可能会为您提供更多信息,告知您所获得的错误。
另外,我建议使用
JOptionPane.showMessageDialog(null, "Add more Customers?", "Continue?",JOptionPane.ERROR_MESSAGE);
或类似的东西,而不是获取用户键入的字符,它创建一个更友好的用户界面。