我的逻辑需要一些帮助。假设存在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);
}
}
}
答案 0 :(得分:1)
这看起来像是作业,所以我会给你提示而不是一个完整的答案:
input.readObject()
返回的类型为Object
。getLoanAmount()
是在Loan
类型的对象上定义的方法。希望这可以帮助您找出代码可能出现的问题。