问答详情
源自:1-9 经验总结

为什么在方法内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];

}

}  


提问者:ffs555 2017-03-06 16:09

个回答

  • ziom
    2017-03-06 19:13:22
    已采纳

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

  • 夏至0313
    2017-03-06 16:51:51

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

  • Stuart12
    2017-03-06 16:23:38

    syso直接输出就好了