解决方案 »

  1.   

    补充一下我的上文中的数据类型的定义现场:
            char[] myUserRole0Numch = new char[4];
            char[] myUserRole1Numch = new char[4];
            char[] myUserDataInfo = new char[6];    
            String MyUserUserInfo = getMyUserInfo(MyUserNum);
         System.out.println(MyUserUserInfo);
         char[] UserNumchar = MyUserUserInfo.toCharArray();
         int[] myUserInfo = new int[18];
            我是在第一张帖子中的“第9行”位置,进行了“5回F6"按钮的点击之后,出现的“UncaughtException”的异常报出的.
            我补充的测试代码为下面的现场:
            for(int i =1;i<7;i++){
             myorderDataInfo[i]=OrderNumchar[i];
             System.out.println("----------------------------->>>>>"+i);        
            }
            上面的代码,就是第一张帖子中的“第9行”的位置.
            开发环境中报出的对应于本段代码的第2行的报错报告为:
            
            并且,我的代码在上述第2行点击了5回F6之后,出现了第一时间跳转到的如下的代码现场:
            
            希望得到组织的指导:
            小弟的错误,错在哪里,如何修改?
            谢谢组织!!谢谢高手!!!!!
      

  2.   

    检查一下 UserNumchar 这个数组,到 UserNumchar[6] 的时候就越界了。你看一下这个数组的长度够不够7
      

  3.   

    用数组.length计算长度,不是写死为7
      

  4.   

    像这种异常(程序代码错误引起的),需要修改你的代码了,而不是捕获异常了;
    你可以这样修改:
    把  for(int i =1;i<7;i++){ 
    改为:
    for(int i =1;i< UserNumchar.length;i++){ 
    就可以了;
      

  5.   

    当然,你可以根据你的实际情况来初始化
    char[] myUserDataInfo = new char[UserNumchar.length];
      

  6.   

    感谢诸位的相助!!
            最后出现问题的原因,在3#楼的CSDN地藏王菩萨levelmini的远程协助的指导下,定位出来了.
            是由于这行代码:
            for(int i =1;i<7;i++){
                myorderDataInfo[i]=OrderNumchar[i];
                System.out.println("----------------------------->>>>>"+i);           
            }
            中的“myorderDataInfo”这个数组我定义的长度是6.
            但是我写的的循环是:
            “访问Index 6”,这里的代码是导致问题的原因.
            我没有把这里的myorderDataInfo数组的定义现场写齐,算我的马虎.
            感谢levelmini再次的亲临指导!!感谢组织的点拨相助!!
            深深滴感慨地藏王菩萨的誓愿:“地狱不空!!!!誓不成佛!!!!!”
            有CSDN!!有levelmini精神!!!!!无屌丝程序员在“知道错了,定位不到错误原因,老板在上面儿磨刀”的地狱里煎熬!!!!!