如何解决线程中的异常;“主要”;java.lang.ArrayIndexOutofBounds异常:2?

如何解决线程中的异常;“主要”;java.lang.ArrayIndexOutofBounds异常:2?,java,arrays,linked-list,Java,Arrays,Linked List,有人能帮我解决这类错误吗 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常异常:2 我正在链表中搜索数据,但当我想将数据插入数组时,结果如下所示: matric | nama | sem | cc | ch | fm 32255 | izzat | 1 | ccs2 | 3 | 45.0 | | 2 | ccs3 | 3 | 56.0 32345 | khai] | 3 | ccs4 | 3 | 45.0

有人能帮我解决这类错误吗

线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常异常:2

我正在链表中搜索数据,但当我想将数据插入数组时,结果如下所示:

matric | nama | sem | cc | ch | fm  
32255 | izzat | 1 | ccs2 | 3 | 45.0  
      |      | 2 | ccs3 | 3 | 56.0  
32345 | khai] | 3 | ccs4 | 3 | 45.0  
      |      | 2 | ccs5 | 3 | 2.0  
32246 | fifi | 1 | cc1 | 3 | 60.0  
      |      | 1 | ccs3 | 4 | 34.0  
34567 | dudu | 2 | ccs2 | 2 | 24.0  
      |      | 2 | ccs4 | 6 | 79.0 
first-->34567-->32246-->32345-->32255-->null  
first-->6-->2-->4-->3-->3-->3-->3-->3-->null  
first-->2-->2-->1-->1-->2-->3-->2-->1-->null  
first-->dudu-->fifi-->khai]-->izzat-->null  
first-->ccs4-->ccs2-->ccs3-->cc1-->ccs5-->ccs4-->ccs3-->ccs2-->null  
first-->79.0-->24.0-->34.0-->60.0-->2.0-->45.0-->56.0-->45.0-->null 

42insert matric= 032345  
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2  
2  
khai]  
2  
3  
    at inputoutput.LinkedList.getcc(LinkedList.java:141)  
    at inputoutput.baca.getcc(baca.java:84)  
    at inputoutput.Inputoutput.main(Inputoutput.java:75)  
 Java Result: 1  
 BUILD SUCCESSFUL (total time: 7 seconds)  
守则:

String[] getcc(int mat,int sub) {
    ListObject2 current = first2;
            int count=0;
            String b[]=new String[2] ;//2 is the subject number==sub

            int x=0;

            while (current!=null ) {

                        if(count==((mat*sub)+x) && ((mat*sub)+0)<((mat*sub)+x)<<((mat*sub)+sub)){

                          b[x]=current.data2;
                             x++;

                        }
        current=current.next;
                    count++;        
    }
    return b;
}

在浏览列表时,您将进入if语句两次以上。如果这样做,将超过b数组的边界(它只能容纳两个值)。您应该改用ArrayList,以便可以根据需要添加任意多的项

 matric | nama | sem | cc | ch | fm  
 32255 | izzat | 1 | ccs2 | 3 | 45.0  
       |      | 2 | ccs3 | 3 | 56.0  
 32345 | khai] | 3 | ccs4 | 3 | 45.0  
       |      | 2 | ccs5 | 3 | 2.0  
 32246 | fifi | 1 | cc1 | 3 | 60.0  
       |      | 1 | ccs3 | 4 | 34.0  
 34567 | dudu | 2 | ccs2 | 2 | 24.0  
       |      | 2 | ccs4 | 6 | 79.0 

   first-->34567-->32246-->32345-->32255-->null  
   first-->6-->2-->4-->3-->3-->3-->3-->3-->null  
   first-->2-->2-->1-->1-->2-->3-->2-->1-->null  
   first-->dudu-->fifi-->khai]-->izzat-->null  
   first-->ccs4-->ccs2-->ccs3-->cc1-->ccs5-->ccs4-->ccs3-->ccs2-->null  
   first-->79.0-->24.0-->34.0-->60.0-->2.0-->45.0-->56.0-->45.0-->null 

   42insert matric= 032255  
   3  
   izzat  
   2  
   1  
   ccs3//the data i want to search  
   ccs2//