这个问题在这里已经有答案了:
什么是nullpointerexception,如何修复它(12个答案)
5年前关门了。
我正在编写一个代码,将一个整数数组写入一个文件。但是,它一直给我一个nullpointerexception。我认为这是两种方法中的一种,我知道它在某个地方,但我看不出来。这是密码。
public static void WriteToFile (int[] n)throws IOException{
try{
BufferedWriter bw=new BufferedWriter(new FileWriter("C:\\sortfile2.txt"));
for(int i=0;i<=25;i++){
bw.write(sortArray(n)+" ");
}
bw.flush();
bw.close();
}
catch(IOException e){
System.out.println("Could not write to file");
}
}
这是第一个可以定位错误的方法。第二个是:
public static int sortArray(int[] a){
int sort=0;
for(int i=0;i<a.length;i++){
int max=IndexOfMaxInRange(a,i,a.length-1);
sort=SwapElement(a,max,max++);
a[i]=sort;
}
return sort;
}
哪里 IndexOfMaxInRange
是一个查找数组中最高整数的方法,其中 SwapElement
是一个实现 IndexOfMaxInRange
,并交换数组中最大的数,而交换最小的数。
2条答案
按热度按时间dojqjjoe1#
试试这个代码,并根据你的编辑(这对我很有用)。。。
vsmadaxz2#
您的自定义排序不起作用,将导致此问题。特别地
手段
i
成为数组的最后一个元素所以
关于max有一些相当令人担忧的索引边界问题,而max++似乎毫无意义。
不用分类就可以找到你的问题。