这有 3 个输入而不是 2 个输入的原因吗?
Is there a reason this runs with 3 inputs but not 2?
当用户输入 name1、name2 和 name3 时,输出正常。但是,当只有name1和name2接收输入时,出现错误?
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
/* Type your code here. */
Scanner scnr = new Scanner(System.in);
String name1, name2, name3;
name1 = scnr.next();
name2 = scnr.next();
name3 = scnr.next();
if (name3.equals("")){
System.out.println(name2 + ", " + name1.charAt(0) + ".");
}
else{
name3 = name3.substring(0);
System.out.println(name3 + ", " + name1.charAt(0) + "." + name2.charAt(0) + ".");
}
}
}
异常:
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 LabProgram.main(LabProgram.java:12)
name3 = scnr.next();
抛出 java.util.NoSuchElementException 因为没有第三个输入。您正在尝试从 System.in 读取内容,但没有任何内容可读取。
当用户输入 name1、name2 和 name3 时,输出正常。但是,当只有name1和name2接收输入时,出现错误?
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
/* Type your code here. */
Scanner scnr = new Scanner(System.in);
String name1, name2, name3;
name1 = scnr.next();
name2 = scnr.next();
name3 = scnr.next();
if (name3.equals("")){
System.out.println(name2 + ", " + name1.charAt(0) + ".");
}
else{
name3 = name3.substring(0);
System.out.println(name3 + ", " + name1.charAt(0) + "." + name2.charAt(0) + ".");
}
}
}
异常:
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 LabProgram.main(LabProgram.java:12)
name3 = scnr.next();
抛出 java.util.NoSuchElementException 因为没有第三个输入。您正在尝试从 System.in 读取内容,但没有任何内容可读取。