问答详情
源自:12-2 项目问题解析 1

为什么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的时候是不行,求解

提问者:Labi_wjc 2015-11-25 09:34

个回答

  • q也会老的曾
    2015-11-25 10:29:02

    原因:你的方法有返回值。所有程序结尾一定得是return

    可是你把return写在for里面了。要是for走完了还没能匹配呢?那这个方法相当于没有返回值。

    这里就出现Exception。

    还有就是,建议一个程序一个入口一个出口。

  • q也会老的曾
    2015-11-25 10:25:21

    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;

        }