沫语
2016-05-07 14:10
在给出的第一章作业参考的代码中,将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的字符串
Java入门第三季
409775 学习 · 4546 问题
相似问题