我想知道是否有人可以告诉我,我的逻辑在这种选择排序(是的,这是教育用途,我意识到有一个Arrays.sort()方法)是有缺陷的。在Java中使用字符串进行选择排序?
public static void selectionSortByName() throws IOException {
String temp;
for (int i = 0; i <= nameArraySize; i++){
String smallest = name[i];
for (int j = 0; j <= nameArraySize; j++){
if (name[j].compareTo(name[i]) < 0){
temp = smallest;
name[j] = temp;
name[i] = smallest;
}
}
}
}
我得到我与compareTo方法行一个NullPointerException异常,所以我希望,我只是有一个逻辑错误在我的条件语句之一。
任何帮助将是伟大的,谢谢!
贵'name'阵列包含任何'null'元素? 'name'本身是'null'吗?这种事情可能会产生一个'NullPointerException'。 – Ghostkeeper
把'<='改成'<',我认为你的选择排序不是选择排序 – nachokk
@nachokk这是为了找到我的错误回合#2 ;-) – user2864740