Tuesday, April 30, 2019

debugging - index out of bounds exception java

So the error message is this:



Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at FcfsScheduler.sortArrival(FcfsScheduler.java:77)
at FcfsScheduler.computeSchedule(FcfsScheduler.java:30)
at ScheduleDisks.main(ScheduleDisks.java:33)



with my code as



public void sortArrival(List r)
{
int pointer = 0;
int sProof = 0;
while(true)
{
if(r.get(pointer).getArrivalTime() {

Request r1 = r.get(pointer);
Request r2 = r.get(pointer+1);
r.set(pointer, r2);
r.set(pointer+1, r1);
}
else
{
sProof++;
}
++pointer;

if(pointer>r.size()-2)
{
pointer=0;
sProof=0;
}
if(sProof>=r.size()-2)
{
break;
}
}

}


The error is at



if(r.get(pointer).getArrivalTime()


but I think the array index is checked ok with the code after the increment of pointer. Is it an array out of bounds exception or something else? Normally, the error is ArrayIndexOutOfBoundsException when it is the array. What seems to be the problem here?

No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...