为什么在方法内return报错?

来源:1-9 经验总结

ffs555

2017-03-06 16:09

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回答

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

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

    ffs555

    谢谢你

    2017-03-06 23:29:27

    共 1 条回复 >

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

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

    ffs555

    什么意思?

    2017-03-06 18:42:25

    共 1 条回复 >

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

    syso直接输出就好了


    ffs555

    syso输出是没问题,return为什么会报错?

    2017-03-06 18:43:10

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题