randomizertech randomizertech - 1 year ago 126
Java Question

Recursive Bubble Sort in Java

I am trying to write a Recursive Bubble sort in Java and I'm getting an Index Out of Bounds Exception. What am I doing wrong and why am I getting this error?
Here is my code:

public static <T extends Comparable< ? super T>>
void sort(T [] a){
T tmp;
for(int i=0;i<a.length;i++){
tmp = a[i];
System.out.println("i:"+i+" "+a[i]);


Also, even tho it sorts the array and I get the error at the end, it is printing all of the steps, how do I make it print the last final sorted array?
Is probably a simple answer but my brain is fried right now and can't think straight.
Thanks in advance.

Answer Source

The loop should stop when i < a.length-1 , because in your code you access the position i+1, and when i == a.length - 1 then i+1 will be trying to access an element off the end of the array that doesn't exist - hence, out of bounds.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download