我正在Zybooks网站上的实验室中工作,并且已完成以下代码:
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String firstName;
String middleName;
String lastName;
firstName = scnr.next();
middleName = scnr.next();
lastName = scnr.nextLine();
if (lastName.contains("")){
System.out.println(middleName + ", " + firstName.charAt(0) + ".");
}
else {
lastName = lastName.substring(1);
System.out.println(lastName + ", " + firstName.charAt(0) + "." + middleName.charAt(0) + ".");
}
}
}
我收到的异常错误是这样的:Exception in thread "main" java.util.NoSuchElementException: No line found
at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
at LabProgram.main(LabProgram.java:13)
当我在IDE中运行以下代码时,一切正常。但是,当我尝试在Zybooks中运行它时,出现异常错误。我得知这是因为当我输入两个名称后不添加空格时,Zybooks会给出异常错误。但是,当我在姓氏后面添加空格时,代码将按预期编译。出于评分的目的,我需要在不占用键盘空间的情况下编译代码,因此我在问如何获取此代码。我尝试过手动添加空格,但没有任何效果。任何帮助将不胜感激
最佳答案
当您调用java.util.NoSuchElementException
时,常常在扫描程序的上下文中抛出nextLine()
,没有下一行。您可以通过在询问前检查下一行来解决这一问题。
尝试如下代码:
if(scan.hasNextLine()){
String story = scan.nextLine();
}
关于java - 需要帮助修复我的代码中的异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64322471/