What does it mean by java.lang.ArrayIndexOutOfBoundsException : 0

后端 未结 2 1351
刺人心
刺人心 2021-01-28 01:37

my compiler keep pointing at this line:

arr[i] = new specialDelivery(name,name2,weight,special);

and this :

arr[i] = new specia         


        
相关标签:
2条回答
  • 2021-01-28 02:00

    From your code:

    int size = 0;
    ...
    Parcel arr[] = new Parcel[size];
    

    Therefore, you've created an array with length 0. Since arr[0] attempts to access the first element, but a zero-length array has zero elements, you get that exception. You will have to either allocate the array with an appropriate non-zero size, or use a dynamic container such as an ArrayList.

    0 讨论(0)
  • 2021-01-28 02:22

    You have declared an array of size 0, because that's what size was when the array was created. So you can't assign anything to this array. On top of that, the array's size is fixed at 0, so you can't do anything to change the size of it.

    Create your array after you have assigned a number to size, so it has the proper size from the start:

    strinput = JOptionPane.showInputDialog ( " Enter number of parcel : " );
    size = Integer.parseInt(strinput);
    
    Parcel arr[] = new Parcel[size];  // move this line down here
    
    0 讨论(0)
提交回复
热议问题