在给出的第一章作业参考的代码中,将String name = console.next();换成String name = console.nextLine(); 导致代码运行在选择名称输出1之后,会直接抛出异常,是因为什么? 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("图书不存在!"); }
next()以读取到有效字符(非空格,tab,enter)开始,中途遇到无效字符结束输入,得不到带无效字符的字符串,nextline()可以得到非enter的字符串