为了账号安全,请及时绑定邮箱和手机立即绑定

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

正在回答

2 回答

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

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

这里就出现Exception。

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

0 回复 有任何疑惑可以回复我~

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;

    }

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么return 可以for里面的?本来没有throw的时候是不行,求解

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信