私はレンタルビデオ店のようなプログラムに取り組んでいます。DVD と Game の 2 つのクラスがあり、Game は DVD を拡張します。テキストファイルへの保存および読み込みメソッドの作成に取り組んでいますが、ちょっとした問題が発生して、わからないようです。
基本的に、リスト内のアイテムがゲームの場合、ゲームがプレイされているシステムの種類を取得してファイルに出力するには、プリント ライターが必要です。リンクされたリストは DVD のものなので、サブクラスのゲームに入る方法がわかりません。テキストファイルとして保存するための私のコードは次のとおりです(リスト内のアイテムがDVDの場合は正常に機能します)
`public void saveAsText(String filename) throws IOException {
{
PrintWriter out = new PrintWriter(new BufferedWriter(
new FileWriter(filename)));
out.println(listDVD.size());
for (int i = 0; i < listDVD.size(); i++) {
DVD d = listDVD.get(i);
out.println(d.getTitle());
out.println(d.getNameOfRenter());
out.println(d.boughtString());
out.println(d.dBString());
out.println("");
}
out.close();
}
}`
インデックス i のアイテムがゲームのインスタンスであるかどうかを確認するコードを少し追加してから、システム名を取得しようとしましたが、クラッシュしてかなり激しく燃えました。
どんな助けでも大歓迎です、ありがとう!