논리에 대한 도움이 필요했습니다. Loan
클래스가 있다고 가정하면 Loan
개체가 들어있는 파일이 있습니다. 나는 파일에서 Loan
개체를 읽고 총 대출 금액을 계산하고 있습니다. 인스턴스 중 하나에 변수 이름 ld
을 주면 나에게 getLoanAmount()
메서드가 작동한다는 것을 증명합니다.ObjectInputStream을 사용하여 오브젝트의 합계 계산
이제 while 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);
}
}
}
숙제 인 경우 합의문에 '숙제'태그를 추가해야합니다. – ChristopheD
이 함수는 실제로 IOException을 throw 할 수 없습니다. –