我的逻辑再次需要一些帮助。假设Loan
该类存在,我有一个包含Loan
对象的文件。我正在Loan
从文件中读取对象并计算总贷款金额。我给其中一个实例一个变量名ld
,只是为了向自己证明该getLoanAmount()
方法有效。
现在在我的 while 循环的最后,我一直在思考如何计算贷款对象,但将它们转换为整数。我认为该input.readObject()
方法正在返回对象的一个实例,因此只有这样获取整数值才有意义:
sum = sum + input.readObject().getLoanAmount();
但是,我收到一个错误,说它找不到符号getLoanAmount()
,这就是我感到困惑的地方。我以为我搞定了。谁能告诉我为什么我的逻辑是错误的。像往常一样,我真的很感激。这是代码:
import java.io.*;
import java.util.Date;
public class RestoringObjects19_7 {
public static void main(String[] args) throws IOException {
int sum = 0;
try {
ObjectOutputStream output = new ObjectOutputStream(
new FileOutputStream("Exercise19_7.dat"));
Loan ld = new Loan(1000);
System.out.println(ld.getLoanAmount()); //WORKS HERE
output.writeObject(ld);
output.writeObject(new Loan(2000));
output.writeObject(new Loan(3000));
output.writeObject(new Loan(4000));
output.writeObject(new Loan(5000));
output.close();
ObjectInputStream input = new ObjectInputStream(
new FileInputStream("Exercise19.7.dat"));
while(true) {
sum = sum + input.readObject().getLoanAmount(); //ERROR HERE??
}
} catch (Exception e) {
System.out.println("Sum: " + sum);
}
}
}