為什么return 可以for里面的?本來沒有throw的時(shí)候是不行,求解
//按名字找書 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的時(shí)候是不行,求解
2015-11-25
原因:你的方法有返回值。所有程序結(jié)尾一定得是return
可是你把return寫在for里面了。要是for走完了還沒能匹配呢?那這個(gè)方法相當(dāng)于沒有返回值。
這里就出現(xiàn)Exception。
還有就是,建議一個(gè)程序一個(gè)入口一個(gè)出口。
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;
????}