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

为什么在方法内return报错?

public  String Bookname(String[] newBook){  //报了个This method must return a result of type String

Scanner o=new Scanner(System.in);

System.out.println("输入书名:");

String nam=o.nextLine();

for(int i=0;i<newBook.length;i++){

if(nam.equals(newBook[i])){

return newBook[i];

}

}  


正在回答

3 回答

你定义的这个方法返回值类型是String, 所以编译器会校验你的整个方法是否一定会返回一个String, 现在你这种写法对于编译器来说,就是有可能不会返回String(比如newBook.length==0或者循环中的if条件不成立), 试试在for循环下面,也就是这个方法的最后再 return ""; 返回一个空字符串。

1 回复 有任何疑惑可以回复我~
#1

ffs555 提问者

谢谢你
2017-03-06 回复 有任何疑惑可以回复我~

字符串(String)和字符数组(char)应该是不同类型

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

ffs555 提问者

什么意思?
2017-03-06 回复 有任何疑惑可以回复我~

syso直接输出就好了


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

ffs555 提问者

syso输出是没问题,return为什么会报错?
2017-03-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么在方法内return报错?

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