私の論理に再び助けが必要でした。クラスが存在すると仮定すると、オブジェクトLoan
を含むファイルがありLoan
ます。ファイルからオブジェクトを読み取り、Loan
ローンの合計金額を計算しています。メソッドが機能ld
することを証明するために、インスタンスの 1 つに変数名を付けました。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);
}
}
}