private static String getBookByName(String[] books) { System.out.println("请输入书名:"); String name=input.next(); for(int i=0;i<books.length;i++){ if(name.equals(books[i])){ return books[i]; }else{ return "1111"; } // }throw new Exception("图书不存在"); } }
使用if else成对的判断语句在使用返回值为什么程序认定我没有返回值呢 equals返回值是true啊不是囊括了所有可能的情况吗
private static String getBookByName(String[] books) { System.out.println("请输入书名:"); String name=input.next(); for(int i=0;i<books.length;i++){ if(name.equals(books[i])){ return books[i]; } } return "1111"; }
private static String getBookByName(String[] books) { System.out.println("请输入书名:"); String name=input.next(); for(int i=0;i<books.length;i++){ if(name.equals(books[i])){ return books[i]; // }else{ return "1111"; // } // }throw new Exception("图书不存在"); } }
谢谢!我想着模仿老师那个写,但是没写抛出异常的时候发现的这个返回值问题,在for循环里这样就不行了!!那么在不抛异常的情况下怎么才能与数组里的元素做比较判断还能作为返回值呢
这么写明显逻辑不对(暂且不管) 你还有种情况没有考虑到 就是 不走for循环的换 没有返回值 所以你要在for循环外加 return "";