gpt4 book ai didi

java - 合并排序代码抛出 NullPointerException

转载 作者:行者123 更新时间:2023-11-29 06:37:38 24 4
gpt4 key购买 nike

我做了一个非常简单的合并排序实现,但我一直收到 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);

}

}

虽然我知道我得到了使用未初始化对象的异常,但我仍然无法在我的代码中找到错误。这是确切的错误:

Merge Sort Algorithm Exception in thread "main" java.lang.NullPointerException at MergeSort.(MergeSort.java:14) at MainRun.main(MainRun.java:11)

我做错了什么?谢谢:)

最佳答案

c 未初始化

你可以这样写:

private int[] c = new int[x];

这将创建一个长度为 x 并用零填充的数组

关于java - 合并排序代码抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18186068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com