首页 > 解决方案 > 在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

    }
}

标签: javaarraysloops

解决方案


您的代码中有两个问题。第一个是您的 searchBook 函数需要 Book 类型数组和字符串,但您正在向它传递一个 Book 即时,即带有字符串的 arr[i],其次您在 User 类中定义了 searchBook() 函数并将其与 Book 类的对象一起使用。将您的功能移至 Book 类。即使您在任何 Book 或 User 类中都不需要该函数,您也可以在 QuizMain 类中简单地定义静态函数 searchBook(Book[] books, String isbn) 并将其称为

searchBook(arr,"8344-3452")

推荐阅读