Hallo liebe Community ich brauche leider mal wieder ein zweites gutes Auge. Mein Code schmeißt mir eine ArrayIndexOutOfBoundsException und ich sehe irgendwie den Fehler nicht:
Ich hoffe mir kann vieleicht jemand nen Tipp geben
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Sortalgo;
import java.util.Arrays;
import java.util.Random;
/**
*
* @author Ich
*/
public class SlowSort {
private int[] num;
private int numb;
private int pivot;
public void sort(int[] values) {
if (values == null || values.length == 0) {
return;
}
this.num = values;
numb = values.length;
slowsort(values, 0, numb-1);
}
private void slowsort(int[] values, int i, int j) {
if (i >= j) {
pivot = (i + j) / 2;
slowsort(values, i, pivot);
slowsort(values, pivot + 1, j);
}
if (values[j] < values[pivot]) {
swap(values[j], values[pivot]);
}
slowsort(values, i, j - 1);
}
private void swap(int i, int j) {
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
public void random(int[] array) {
for (int k = 0; k < array.length; k++) {
Random r = new Random();
int rand = r.nextInt();
array[k] = rand;
}
}
public static void main(String[] args) {
int [] values;
values = new int [10];
SlowSort slow = new SlowSort();
slow.random(values);
slow.sort(values);
System.out.println(Arrays.toString(values));
}
}
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -358296385
at Sortalgo.SlowSort.swap(SlowSort.java:45)
at Sortalgo.SlowSort.slowsort(SlowSort.java:37)
at Sortalgo.SlowSort.sort(SlowSort.java:27)
at Sortalgo.SlowSort.main(SlowSort.java:67)
Ich hoffe mir kann vieleicht jemand nen Tipp geben