0

我的逻辑再次需要一些帮助。假设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);
        }
  }
}
4

1 回答 1

1

这看起来像是家庭作业,所以我会给你提示而不是一个完整的答案:

  • 方法input.readObject()返回类型是Object.
  • getLoanAmount()是在类型对象上定义的方法Loan

希望这可以帮助您弄清楚您的代码可能有什么问题。

于 2012-05-10T16:03:25.757 回答