2014-11-25 71 views
1

嗨,我希望我的方法通過一個id搜索一本書,並返回標題,該方法完美時,我printLn,但我需要它被返回,而不是我得到一個錯誤:不兼容的類型意外返回值,我需要做什麼?初學者Java藍色J在方法中返回字符串

編輯 我現在已經改變了空字符串但我仍然得到一個錯誤:缺少返回值提前

感謝。

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

      return books.title ; 
     } 
      } 
    } 

回答

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"; 
} 
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 ; 
    }