为什么return报错?

来源:2-3 Java 中 String 类的常用方法 Ⅰ

ffs555

2017-03-07 01:18

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

}


写回答 关注

2回答

  • 金风玉露亦相逢
    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

    你是不是问过这个问题了

    ziom 回复ffs555

    那应该是代码本身就有问题吧

    2017-03-07 09:22:58

    共 4 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题