编译器错误“无法应用”?

时间:2013-12-03 22:08:18

标签: java arrays object compiler-errors

让这个方法有效的问题。它位于一个单独的类中,调用另一个对象类来搜索一系列书籍。我有3个其他类似的方法也在进行搜索,但是针对不同的查询。

public static void searchForTitle(Book[] theBooks)
   {
      String message;
      String searchTitle;
      searchTitle = JOptionPane.showInputDialog("Enter title to search");
      message = Book.findBookByTitle(theBooks, searchTitle);
      JOptionPane.showMessageDialog(null, message);
   }//end searchForTitle method

这是对象类中与上述方法相对应的方法,我似乎无法在这里找到问题,并且我收到的所有4个进行搜索的方法的编译器错误都是:

TestBook.java:73: findBookByTitle(java.lang.String,Book[]) in Book cannot be applied to (Book[],java.lang.String)
      message = Book.findBookByTitle(theBooks, searchTitle);

以下对象方法

public static String findBookByTitle(String titleSearched, Book[] arrayOfBooks)
{
  String message = "";
  for(int i = 0; i < getNumberOfBooks(); i++)
  {
     if(titleSearched.equalsIgnoreCase(arrayOfBooks[i].getTitle()))
     {
        message = message + arrayOfBooks[i].toString();
     }//end if
  }//end for  
  return message;
}//end findByTitle

1 个答案:

答案 0 :(得分:2)

您的参数顺序错误。将其更改为:

message = Book.findBookByTitle(searchTitle, theBooks);