Java にカスタム汎用リンク リストがあります (これは Java の LinkedList やコレクションではありません)。リンクされたリストには、ノード、ListInterface、実際の LinkedList、クラス ファイル、およびメイン メソッドを含むファイルがあります。このリンクされたリストとクラスは、DVD インベントリ マネージャーを形成することになっています。私がやろうとしているのは、リストをトラバースして、ユーザーが渡した文字列が、リンクされたリスト内のオブジェクトの 1 つの変数の文字列と等しいかどうかを確認することです。
これは私がこれまでに持っているものです:
if (movies.isEmpty()) {
movies.add(new Dvd(userMovie), movies.length()+1);
} else if (!movies.isEmpty()) {
for (int i = 1; i <= movies.length(); i++) {
if (movies.get(i).getTitle().equals(userMovie)) {
movies.get(i).addCopy();
} else if (!movies.get(i).getTitle().equals(userMovie)) {
movies.add(new Dvd(userMovie), movies.length()+1);
}
}
}
英語: 映画のリンク リストが空の場合、渡された映画 (userMovie) を追加します。それ以外の場合は、映画のリンク リストが空でない場合は、リスト内の各項目をチェックして、渡された映画が既に存在するかどうかを確認します。すでに存在する場合は、コピーを追加します。渡された映画が存在しない場合は、その映画をリストに追加します。
これは、最後の部分を除いてすべて機能します。
空のときにムービーを追加すると、次のようになります。
Star Wars 1 // one copy of star wars has been added
次に、同じムービーを再度追加すると、コピーが更新されます。
Star Wars 2
次に、別のムービーを追加しようとすると、1 つではなく 2 つのコピーで開始されます。
Harry Potter 2
次に、同じムービーをもう一度追加して何が起こるかを確認すると、次のようになります。
Star Wars 1
Harry Potter 3
Harry Potter 2