初学者Java Blue J在方法中返回一个String

时间:2014-11-25 01:54:34

标签: java methods return bluej

您好我希望我的方法通过ID搜索一本书并返回标题,该方法在我打印时工作得很好但是我需要它返回而不是我得到一个错误:不兼容类型意外返回值,做什么我需要去做 ?

编辑 我现在已将void更改为string但是我仍然收到错误:缺少返回值

提前致谢。

  public void returnByBookID(int enterBookId)
    {
          Iterator<Book> it = books.iterator();
          while(it.hasNext()) {
          Book books =  it.next();
          if(books.idNumber == (enterBookId)){

          return books.title ;
         }
            }
    }

2 个答案:

答案 0 :(得分:1)

您的方法返回类型为void,将其更改为String以返回书名。

public String returnByBookID(int enterBookId){
.....................
..............
........

 return books.title ;

}

同样return statement位于if condition内,

if(books.idNumber == (enterBookId)){
          return books.title ;
       }

取空字符串并为其分配书名并返回该名称,或者在最后返回null或emty字符串。

public String returnByBookID(int enterBookId)
String bookTitle = "";
    {
          Iterator<Book> it = books.iterator();
          while(it.hasNext()) {
          Book books =  it.next();
          if(books.idNumber == (enterBookId)){
             bookTitle = books.title ;
         }
      }

   return bookTitle ;
  }

答案 1 :(得分:0)

将您的代码更改为以下内容:

public String returnByBookID(int enterBookId) {

    Iterator<Book> it = books.iterator();
    while(it.hasNext()) {
        Book books =  it.next();
        if(books.idNumber == (enterBookId)){

            return books.title ;
        }
    }
    return "ID not found";
}