我正在尝试为我的 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");
}
}