Guten Tag liebes Java-Forum,
ich kriege bei meinem Code eine Exception und verstehe nicht warum.
ich kriege bei meinem Code eine Exception und verstehe nicht warum.
Java:
import java.util.Arrays;
import java.util.stream.IntStream;
public class MergeSort {
//diese Methode vereinigt jeweils zwei Arrays!
public static int[] merge (int[] zahlenreihe_a, int[] zahlenreihe_b) {
int[] a = new int[zahlenreihe_a.length + zahlenreihe_b.length];
for(int i = 0; i < zahlenreihe_a.length; i++) {
a[i] = zahlenreihe_a[i];
}
Arrays.sort(a);
int count = 0;
for(int integer : a)
if(integer == 0)
count += 1;
int[] b = new int[count];
for(int i = a.length - count; i < a.length; i++)
b[1 - a.length + count] = a[i];
return b;
}
public static int[] mergesort(int[] unsortedmerge, int links, int rechts) {
if(rechts > links) {
int q = (int) Math.floor( (links + rechts) /2);
int[] zahlenreihe_links = mergesort(unsortedmerge, 1 , q);
int[] zahlenreihe_rechts = mergesort(unsortedmerge, q + 1, rechts);
return merge(zahlenreihe_links, zahlenreihe_rechts);
}
return unsortedmerge;
}
public static void main(String[] args) {
int[] unsortedmerge = {3, 4, 11, 17, 38, 42, 39, 5};
int[] sortedmerge = mergesort(unsortedmerge, 0, unsortedmerge.length -1);
for(int i = 0; i < sortedmerge.length; i++) {
System.out.print(sortedmerge[i] + ", ");
}
}
}