我做了一个非常简单的合并排序实现,但我不断收到 java.lang.NullPointerException。这是我的代码:
public class MergeSort {
private int[] c;
private int i = 0, j = 0, k = 0;
public MergeSort(int[] a, int[] b){
while( i < a.length && j < b.length){
if(a[i] > b[j])
c[k++] = b[j++];
else
c[k++] = a[i++];
}
while(i < a.length){
c[k++] = a[i++];
}
while(j < b.length){
c[k++] = b[j++];
}
i = 0;
while(i < c.length){
System.out.print(c[i++] + " ");
}
}
}
我正在从主类调用构造函数,如下所示:
public class MainRun {
public static void main(String[] args) {
System.out.println("Merge Sort Algorithm");
int a[] = {1, 3, 5, 7, 9};
int b[] = {2, 6, 7, 9, 11};
new MergeSort(a, b);
}
}
虽然我知道我得到了使用未初始化对象的异常,但我仍然无法在我的代码中找到错误。这是确切的错误:
在 MainRun.main(MainRun.java:11) 的 MergeSort.(MergeSort.java:14) 处的线程“main”java.lang.NullPointerException 中的合并排序算法异常
我究竟做错了什么?谢谢 :)