下面的代码有变量“name”。这可能包含名字和姓氏或仅包含名字。此代码检查变量“名称”中是否有任何空格。如果空间存在,那么它就会 split 。
但是,在以下情况下,我收到“错误:线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:1 at Space.main(Space.java:9)”
- 如果“Richard”前有空格
- 如果“Richard”后没有第二个单词或第二个字符串的空格。
- 如果我在“Richard”之后有两个空格,那么它不会将该名称保存在 lname 变量中。
如何解决这个错误。
public class Space {
public static void main(String[] args) {
String name = "Richard rinse ";
if(name.indexOf(' ') >= 0) {
String[] temp;
temp = name.split(" ");
String fname = temp[0];
String lname = temp[1];
System.out.println(fname);
System.out.println(lname);
} else {
System.out.println("Space does not exists");}
}
}
最佳答案
你必须像这样使用“\s”分割字符串
name.split("\\s+");
关于java - 与数组索引相关的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12459756/