為什么return 可以for里面的?本來沒有throw的時候是不行,求解
//按名字找書
private?static?String?getBookName(String[]?books)throws?Exception?{
System.out.println("輸入要找書的名字");
String?name=console.next();
for(int?i=0;i<books.length;i++){
if(name.equals(books[i]))
return?books[i];
}
throw?new?Exception("圖書不存在!");
}為什么return 可以for里面的?本來沒有throw的時候是不行,求解
2015-11-25
原因:你的方法有返回值。所有程序結尾一定得是return
可是你把return寫在for里面了。要是for走完了還沒能匹配呢?那這個方法相當于沒有返回值。
這里就出現Exception。
還有就是,建議一個程序一個入口一個出口。
2015-11-25
private?static?String?getBookName(String[]?books)?{
????????String? book_name = null;
????????System.out.println("輸入要找書的名字");
????????String?name=console.next();
????????for(int?i=0;i<books.length;i++){
????????????if(name.equals(books[i])){
????????????????book_name = books[i];
????????????????break;
????????????}
????????}
????return book_name;
????}