BookCollection クラスの findBook メソッドを作成しようとしています。指定された ISBN を持つ本を検索します。さまざまな種類の要素を比較する方法を見つけるのに苦労しています。この方法が与えられました:
public void changePrice(String isbn, double price){
int index = findBook(isbn); //CREATE FINDBOOK METHOD TO HELP THIS METHOD
if( index == -1){
throw new UnsupportedOperationException("BookNotFound");
}
collection[index].setPrice(price);
}
しかし、整数インデックスの比較が、文字列パラメーターを持つ findbook メソッドに対して行われる理由について混乱しています。基本的に、タイプ Book[] のコレクションがあり、指定されたパラメーター isbn を使用して、その本のコレクションでその isbn を検索する必要があります。
これは、私がこれまでに持っているもののずさんな大まかな見積もりです。
//this method is a helper function
private String findBook(int is){
this.isbn = is;
for(int i = 0; i <= collection.length; i++){
add(isbn);
}
}
この方法が間違っていることはわかっていますが、これを書く方法を考えるのに非常に苦労しています。文字列パラメーター isbn を使用して Book[] 型のコレクションを検索するにはどうすればよいですか? 私のコード全体が必要な場合はお知らせください。投稿します。
助けてくれた人に感謝します!
@drorbsこれが私のデータフィールドとコンストラクタです:
private int limit = 200;
//Array of type book
private int Book[];
//actual size of collection, initialized to zero. Must never exceed limit
private Book[] collection; //collection is of book type
private int lastElement;
//Constructor
public BookCollection(int l){
limit = l;
int lastElement = 0;
if(limit <= 200){
Book[] collection = new Book[limit];
} else{
throw new UnsupportedOperationException("CannotExceedLimit");
}
}