在 Java 中使用 Scanner 时没有此类元素异常
本篇文章将介绍如何在 Java 中使用 Scanner 时解决 NoSuchElementException
错误。
在 Java 中使用 Scanner 时没有此类元素异常
Scanner 类用于在 Java 程序中获取用户输入。 它使用多种实用方法,如 next()
、nextInt()
等。
使用这些方法时,扫描程序可能会抛出 Java 中的 NoSuchElementException
错误。 这些异常的原因如下:
-
假设我们有两个 Scanner 对象用于获取用户输入; 如果我们关闭一个 Scanner 并从另一个 Scanner 获取输入,它将抛出 NoSuchElementExcpetion。 这是因为当我们关闭一个Scanner时,它也会关闭Input Stream; 这就是为什么其他扫描器无法从同一输入流读取的原因,因为 close() 方法也会关闭 System.in 输入流。
这是一个例子:
package jiyik; import java.util.*; public class Example { public static void main(String args[]) { String DemoString = "Hello, This is jiyik.com"; Scanner DemoScanner1 = new Scanner(System.in); Scanner DemoScanner2 = new Scanner(System.in); DemoScanner1.close(); DemoScanner2.next(); } }
Exception in thread "main" java.util.NoSuchElementException at java.base/java.util.Scanner.throwFor(Scanner.java:937) at java.base/java.util.Scanner.next(Scanner.java:1478) at jiyik.Example.main(Example.java:13)
close()
方法将关闭所有输入流。 -
在使用 Scanner 时,我们正在读取行,如果没有剩余行可供读取,则会抛出 NoSuchElementException。 参见示例:
package jiyik; import java.util.*; public class Example { public static void main(String args[]) { String DemoString = "Hello, This is jiyik.com"; Scanner DemoScanner1 = new Scanner(DemoString); System.out.println(DemoScanner1.nextLine()); System.out.println(DemoScanner1.nextLine()); } }
hasNextLine()
来检查扫描仪是否有下一行。 如果扫描仪有下一行,则返回 true; 否则,返回 false。参见示例:
package jiyik; import java.util.*; public class Example { public static void main(String args[]) { String DemoString = "Hello, This is jiyik.com"; Scanner DemoScanner1 = new Scanner(DemoString); while(DemoScanner1.hasNextLine()){ System.out.println(DemoScanner1.nextLine()); } } }
Hello, This is jiyik.com
相关文章
修复 Java 中错误 Error: Else Without if
发布时间:2023/07/13 浏览次数:183 分类:Java
-
本篇文章我们将了解在用 Java 编写代码时只说 'else' without 'if' 的错误。 我们还将找出导致此错误的可能原因并找到解决方案。Java 中 error: 'else' without 'if'
Java 中 The System Cannot Find the File Specified
发布时间:2023/07/13 浏览次数:99 分类:Java
-
本篇文章介绍如何解决 Java 中的 The system cannot find the file specified 错误。修复Java中 The system cannot find the file specified 错误
Java 中的无效字符常量
发布时间:2023/07/13 浏览次数:152 分类:Java
-
本 Java 文章将讨论无效字符常量。 但在此之前,我们需要了解字符常量。Java字符常量 单字符常量,也称为字符常量,是封装在一对 '' 或单引号中的单个字符。
解决 Java 中 Missing Method Body or Declare Abstract
发布时间:2023/07/13 浏览次数:68 分类:Java
-
本篇文章讨论编译时错误、missing method body, or declare abstract。 在这里,我们将经历三个不同的步骤。首先,我们将了解一个Java程序来了解错误。 其次,突出显示此错误的可能原因,并最终找到
修复 Java.Net.SocketException: Connection Reset 错误
发布时间:2023/07/13 浏览次数:191 分类:Java
-
今天的文章将讨论Java中可能出现的 java.net.SocketException: Connection Reset 错误的原因和解决方案。 最后,我们将看到如何消除 Java 的 java.net.SocketException:Connection Reset错误。
解决 Java.Lang.RuntimeException: Unable to Instantiate Activity ComponentInfo
发布时间:2023/07/12 浏览次数:191 分类:Java
-
我们将探讨导致 java.lang.RuntimeException: Unable to instantiate Activity ComponentInfo 的不同可能原因。 最后,我们将有一个解决方案来根除它。解决 java.lang.RuntimeException: Unable to instantiate Activity ComponentIn
解决 Java 中 Generic Array Creation 错误
发布时间:2023/07/12 浏览次数:189 分类:Java
-
本篇文章通过代码示例说明了 generic array creation 错误,并重点介绍了创建通用数组时出现此错误的原因。 本次讨论将得出解决方案,我们将学习如何使用对象数组和反射功能创建通用数组。
Java.Net.UnknownHostException 异常
发布时间:2023/07/12 浏览次数:190 分类:Java
-
本篇文章介绍了 Java 中的 java.net.UnknownHostException 错误。Java中java.net.UnknownHostException的原因 java.net.UnknownHostException 表示找不到主机名的 IP 地址。
Java 中异常 java.lang.ClassCastException
发布时间:2023/07/12 浏览次数:72 分类:Java
-
当我们尝试将对象从父类转换为子类的对象时,会引发 java.lang.ClassCastException。 但是,如果我们尝试在两个完全不相关的类型之间转换对象,也可能会抛出该错误。本文将帮助您处理 Java 的 j