java - 在java中搜索一个数组并打印输出
问题描述
在这个 java 程序中,我试图搜索“Book”类型数组中是否存在 ISBN 号。但是当我尝试实现该方法并显示输出时,我收到一条错误消息,上面写着“方法 searchBook(Book, String) 未定义 Book 类型”。<-- HERE
注释显示错误弹出的位置。我不明白如何纠正这个错误,任何帮助将不胜感激。谢谢你。
驱动程序类是: QuizMain
public class User {
int ID;
String name;
String email;
int age;
String isbn;
void searchBook(Book[] b, String isbn) {
for (int i =0;i<6;i++) {
if (b[i].ISBN == isbn) {
System.out.println(b[i].title);
} else {
System.out.println("ISBN Not Found");
}
}
}
}
public class Book {
String title;
String author;
String ISBN;
float rating;
int noOfDays;
void displayBookDetails() {
System.out.println("Title\tAuthor\tISBN\tRating"+this.title +this.author + this.ISBN +this.rating);
}
// book constructor
public Book(String title, String author, String ISBN, float rating) {
this.title = title;
this.author = author;
this.ISBN = ISBN;
this.rating = rating;
}
}
public class QuizMain {
public static void main(String[] args) {
Book[] arr = new Book[6];
arr[0] = new Book("Vincent la la ","king","2194-5357",6.5f);
arr[1] = new Book("A man of wisdom","henry","2193-4567",3.2f);
arr[2] = new Book("Apple Garden","timorthy","2104-3080",1.2f);
arr[3] = new Book("Sherlock","Arthur","2165-0932",5.5f);
arr[4] = new Book("Hello John","Tarnia","2134-2342",1.5f);
arr[5] = new Book("Tarzan","Martin","2111-0564",4.2f);
for(int i =0;i<arr.length;i++) {
arr[i].searchBook(arr[i], "2165-0932"); // <-- HERE
}
arr.searchBook(arr[5], "2165-0932"); // <-- HERE
}
}
解决方案
您的代码中有两个问题。第一个是您的 searchBook 函数需要 Book 类型数组和字符串,但您正在向它传递一个 Book 即时,即带有字符串的 arr[i],其次您在 User 类中定义了 searchBook() 函数并将其与 Book 类的对象一起使用。将您的功能移至 Book 类。即使您在任何 Book 或 User 类中都不需要该函数,您也可以在 QuizMain 类中简单地定义静态函数 searchBook(Book[] books, String isbn) 并将其称为
searchBook(arr,"8344-3452")
推荐阅读
- javascript - 如何分别管理 2 个不同输入的状态
- oracle-apex - 在 Oracle APEX 的交互式数据网格中有条件地显示链接
- php - php当前密码检查和更新哈希密码
- antlr4 - 混合两种语言
- rest - RestApi 中的 Put Request 的 Null 值
- python - 如何用另一个数组的同一索引中的值替换一个数组中的值?
- php - 如何使用此 GeoJson 文件从特定国家/地区生成随机点(坐标)?
- feature-extraction - 使用 Featuretools 聚合一天中的每个时间
- c++ - 在除构造函数之外的任何其他地方访问相机时,我的相机指针返回 null
- c# - 生成的小行星向生成时发现的玩家位置移动,但不会更远