我一直在寻找这个问题的答案,但由于某种原因,它们似乎都不起作用。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter full name (last, first)");
String[] personalInfo = scanner.next().split(", ");
String firstName = personalInfo[1];
String lastName = personalInfo[0];
System.out.println("Your info: " + firstName + " " + lastName);
这是我的代码。我基本上是想获取个人信息,即名字和姓氏。我想将名字和姓氏分成 2 个不同的字符串,但每当我尝试打印它时,都会收到错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 > out of bounds for length 1 at Fines.main(Fines.java:11)
我很困惑,因为我什至像我应该的那样以 0 开始数组..我只是不明白出了什么问题。
请帮帮我 - 提前致谢!
最佳答案
您想要的是scanner.nextLine()从标准输入读取直到行尾。然后 split 将按您的预期工作。
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter full name (last, first)");
String[] personalInfo = scanner.nextLine().split(", ");
String firstName = personalInfo[1];
String lastName = personalInfo[0];
System.out.println("Your info: " + firstName + " " + lastName);
关于java - 将扫描仪输入拆分为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53349229/