String dateofbirth = ((JTextField)jDateChooser1.getDateEditor().getUiComponent()).getText();
System.out.println(""+dateofbirth);
String [] dob= dateofbirth.split("/");
System.out.println(""+dob[0]);
System.out.println(""+dob[1]);
System.out.println(""+dob[2]);
答案 0 :(得分:0)
您需要检查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]);
}
答案 1 :(得分:0)
您应该使用数组索引超出范围的异常尝试catch。
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);
}
答案 2 :(得分:0)
似乎数组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: