为了账号安全,请及时绑定邮箱和手机立即绑定

.split("\") 不起作用,并且还有一个错误 arrayIndexOitOfBounds

.split("\") 不起作用,并且还有一个错误 arrayIndexOitOfBounds

慕码人2483693 2022-11-02 17:29:16
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]);
查看完整描述

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]);

}


查看完整回答
反对 回复 2022-11-02
?
炎炎设计

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:


查看完整回答
反对 回复 2022-11-02
?
慕盖茨4494581

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);

}


查看完整回答
反对 回复 2022-11-02
  • 3 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信