问答详情
源自:2-3 Java 中 String 类的常用方法 Ⅰ

为什么return报错?

public static String Bookname(String[] book){//报错This method must return a result of type String

String name=input.nextLine();

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

if(name.equals(book[i])){

return book[i];

}

而下面这个却没有报?

private static String getBookByName(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("图书不存在!");

}


提问者:ffs555 2017-03-07 01:18

个回答

  • 金风玉露亦相逢
    2017-03-08 16:45:35

    public static String Bookname(String[] book){    //报错This method must return a result of type String
        String name=input.nextLine();
        for(int i=0;i<book.length;i++ ){        //遍历
            if(name.equals(book[i])){            // 如果有符合的则返回; 没考虑全部不符合的情况 所以报错
                return book[i];
            }
        }
        // 可以在这里加上 return null;就ok了
    }


  • ziom
    2017-03-07 06:29:14

    你是不是问过这个问题了