【发布时间】:2016-10-18 18:05:32
【问题描述】:
我正在写一段代码,我试图通过使用用户输入的值之间的空格将用户的输入分成 3 个不同的数组。但是,每次我运行代码时都会出现错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Substring.main(Substring.java:18)
Java Result: 1
我尝试在输入文本时使用不同的分隔符,并且效果很好,例如通常使用 / 拆分完全相同的输入,并且到目前为止我想做的事情。 任何帮助,将不胜感激! 如果需要,这是我的代码
import java.util.Scanner;
public class Substring{
public static void main(String[]args){
Scanner user_input = new Scanner(System.in);
String fullname = ""; //declaring a variable so the user can enter their full name
String[] NameSplit = new String[2];
String FirstName;
String MiddleName;
String LastName;
System.out.println("Enter your full name (First Middle Last): ");
fullname = user_input.next(); //saving the user's name in the string fullname
NameSplit = fullname.split(" ");//We are splitting up the value of fullname every time there is a space between words
FirstName = NameSplit[0]; //Putting the values that are in the array into seperate string values, so they are easier to handle
MiddleName = NameSplit[1];
LastName = NameSplit[2];
System.out.println(fullname); //outputting the user's orginal input
System.out.println(LastName+ ", "+ FirstName +" "+ MiddleName);//outputting the last name first, then the first name, then the middle name
new StringBuilder(FirstName).reverse().toString();
System.out.println(FirstName);
}
}
【问题讨论】:
-
你为什么要做 fullname.split("\\ ") 而不是 fullname.split(" ")?我很确定我以前做过这个,而且效果很好。
-
是的,但你没有告诉我们你输入了什么,所以..
-
那不应该在那里,我的错
-
我输入了所要求的内容,例如“猫王约翰普雷斯利”
-
尝试打印出全名。我在这里没有发现问题。
标签: java arrays split delimiter