3 回答
TA贡献1833条经验 获得超4个赞
您需要检查 dateofbirth 格式是否正确,并通过检查数组长度来防止异常。
String [] dob= dateofbirth.split("/");
if(dob != null && dob.length >=3){
System.out.println(""+dob[0]);
System.out.println(""+dob[1]);
System.out.println(""+dob[2]);
}
TA贡献1808条经验 获得超4个赞
似乎数组 dob 只有一个元素,其中没有索引 1。这就是为什么您会看到java.lang.ArrayIndexOutOfBoundsException: 1 索引从 0 开始。
使用循环来导航数组,以便您可以根据数组大小动态处理用例。举个例子,见下文。
例子
String input = "abc/def/ghi/jkl";
String[] matrix = input.split("/");
/* Print each letter of the string array in a separate line. */
for(int i = 0; i < matrix.length; ++i) {
System.out.println(matrix[i]);
}
这将给出如下输出,
abc
def
ghi
jkl
这样可以避免遇到java.lang.ArrayIndexOutOfBoundsException:
TA贡献1850条经验 获得超11个赞
您应该使用数组索引越界异常尝试捕获。
try {
String [] dob= dateofbirth.split("/");
System.out.println(""+dob[0]);
System.out.println(""+dob[1]);
System.out.println(""+dob[2])
catch(ArrayIndexOutOfBoundsException exception) {
handleTheExceptionSomehow(exception);
}
添加回答
举报