1、首先,先来看下在编写冒泡排序提示的空指针异常的提示。
2、我们首先检查冒泡排序的外部循环控制冒泡排序的循环次数。
3、检查冒泡排序的内部循环,该内部循环的主要目的是为了找到当前比对最大值。
4、检查排序中讲最大值一次移动到末尾的代码部分。如果前一个数比后一个数大,就将前一个数移动到该数组中的后一个位置,实现两个数的交换。
5、执行代码,会依然提示空指针异常的错误。这时再看分析内部循环,假如,内部循环执行到墙绅褡孛数组的最后一个元素骀旬沃啭时依然会进行和下个数比较。所以问题就出现在这里了,将第三步中的i<a.length或i<count的控制语句变成i<a.length-1或是i<count-1,这里count为数组实际长度;
6、总结,空指针异常,一般都是指的是指针指向了数组的下个元素时,该位置已经超出了数组的界限,就会发生空指针异常的现象。