Java 解析字符串错误:线程"main" java.util.NoSuchElementException 中的异常



为什么在尝试运行此程序时会出现异常错误?这意味着什么?我该如何修复它?是因为我在使用nextline吗?当我在IntelliJ中运行它时,我没有遇到任何错误,但当我在Zybooks(带作业的在线编码课程(中运行时,我会遇到错误。

我的错误:

Exception in thread "main" java.util.NoSuchElementException: No line found
at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
at ParseStrings.main(ParseStrings.java:40)

代码:

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String userInput = "";
System.out.println("Enter input string:");
userInput = scnr.nextLine();
while (!userInput.equals("q")) {
while (userInput.contains(",") == false) {
System.out.println("Error: No comma in string");
System.out.println("Enter input string:");
userInput = scnr.nextLine();
}
String[] myArray = userInput.split(",");
System.out.println("First word: " + myArray[0]);
System.out.println("Second word: " + myArray[1]);
//get the next input
System.out.println("Enter input string:");
userInput = scnr.nextLine();
}
}
}

问题是,当您将值分配给userInput变量时,您无法在循环中再次调用它,而您需要从扫描仪中调用它,让我添加这个例子:

while (!(userInput = scnr.nextLine()).equals("q")) {
....
}

最新更新