Java 扫描仪下一行()异常:未找到行
我正在为静态方法进行扫描,出现以下异常:Java 扫描仪下一行()异常:未找到行,java,java.util.scanner,Java,Java.util.scanner,我正在为静态方法进行扫描,出现以下异常: Exception in thread "main" java.util.NoSuchElementException: No line found 我的modify方法倾向于从控制台获取2个字符串作为输入,但它不起作用。 注意:我没有使用scanner.close() 更新:尝试使用资源块关闭曲线括号内的内容()。所以,它确实关闭了InputStream,然后,将其删除。谢谢 static Book searchTitle(){ Scanne
Exception in thread "main" java.util.NoSuchElementException: No line found
我的modify方法倾向于从控制台获取2个字符串作为输入,但它不起作用。
注意:我没有使用scanner.close()代码>
更新:尝试使用资源块关闭曲线括号内的内容()
。所以,它确实关闭了InputStream,然后,将其删除。谢谢
static Book searchTitle(){
Scanner input = new Scanner(System.in))
String booktitle;
System.out.println("Please enter title:");
booktitle = input.nextLine();
for(Book b : BookList){
if(b.getTitle() != null && b.getTitle().equals(booktitle)){
System.out.println(b.toString());
return (Book) b;
}
System.out.println("not found");
return null;
}
更新:尝试使用资源块关闭曲线括号内的内容()
。所以,它确实关闭了InputStream,然后,将其删除。谢谢
static Book searchTitle(){
Scanner input = new Scanner(System.in))
String booktitle;
System.out.println("Please enter title:");
booktitle = input.nextLine();
for(Book b : BookList){
if(b.getTitle() != null && b.getTitle().equals(booktitle)){
System.out.println(b.toString());
return (Book) b;
}
System.out.println("not found");
return null;
}
您正在静态方法中使用java.util.Scanner的两个实例。您只需使用java.util.Scanner的一个实例。删除java.util.Scanner的两个实例,并将其添加为全局变量
static Scanner input = new Scanner(System.in);
然后仅使用输入来读取代码中的所有读数。确保在完成输入时关闭它。您正在静态方法中使用两个java.util.Scanner实例。您只需使用java.util.Scanner的一个实例。删除java.util.Scanner的两个实例,并将其添加为全局变量
static Scanner input = new Scanner(System.in);
然后仅使用输入来读取代码中的所有读数。确保在完成输入时关闭输入。您到底想实现什么?您确实关闭了扫描仪。这就是您在try(Scanner input=new Scanner(System.in)){
@JainamJhaveri中使用的try with resource语句的全部要点。我想读取两个字符串booktitle和author。然后,将它们设置为tempbook,但它没有work@JBNizet我想当我们使用(System.in)时
要读取InputStream,我们不应该关闭任何初始化的扫描程序?它起作用了,我想我应该阅读try{}catch(){}
再多一点。谢谢。确实,您不应该关闭System.in。但您正在这样做。这就是异常的原因。您到底想实现什么?您确实关闭了扫描仪。这就是您在try(scanner input=new scanner(System.in))中使用的try with resource语句的全部要点{
@JainamJhaveri我想读两个字符串booktitle和author。然后,将它们设置为tempbook,但没有work@JBNizet我想当我们使用(System.in)
读取输入流时,我们不应该关闭任何初始化的扫描程序?它起作用了,我想我应该阅读try{}catch(){}
再多一点。谢谢。确实,您不应该关闭System.in。但您正在这样做。这就是异常的原因。