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];
}
}
}
你定义的这个方法返回值类型是String, 所以编译器会校验你的整个方法是否一定会返回一个String, 现在你这种写法对于编译器来说,就是有可能不会返回String(比如newBook.length==0或者循环中的if条件不成立), 试试在for循环下面,也就是这个方法的最后再 return ""; 返回一个空字符串。
字符串(String)和字符数组(char)应该是不同类型
syso直接输出就好了