免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1288 | 回复: 3
打印 上一主题 下一主题

求救:试了很多办法,就是产生例外!(一个对象排序问题) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-25 02:19 |只看该作者 |倒序浏览
部分原代码如下:
public class Compare implements Comparable
{
  private String name;

  public Compare(String getName)
  {
    name = getName;
  }

  public String getName() {return name;}
  
  public String toString()
  {return name;}

  public int compareTo(Object other)
   {
       return this.name.compareToIgnoreCase(((Compare)other).getName());
   }
}

//main 中部分代码:其中arrCar是arraylist型,目的是按产品名称排序。
      Compare NAME = new Compare[100];
      for(int i = 0; i < arrCar.size(); i++)
      NAME = new Compare(((Car)arrCar.get(i)).getName());
      Sorts.insertionSort(NAME);


public class Sorts
{
  public static void insertionSort (Comparable[] objects)
    {
       for (int index = 1; index < objects.length; index++)
       {
          Comparable key = objects[index];
          int position = index;

          while (position >; 0 && objects[position-1].compareTo(key) >; 0)
          {
             objects[position] = objects[position-1];
             position--;
          }
         objects[position] = key;
       }
    }

偶在运行程序是总是说出现NullPointerException具体在
  return this.name.compareToIgnoreCase(((Compare)other).getName());
    while (position >; 0 && objects[position-1].compareTo(key) >; 0)
    Sorts.insertionSort(NAME);
3个地方, 偶已经查了4个小时了,还是没有结果,请各位高手一定帮忙啊!不胜感激!

论坛徽章:
0
2 [报告]
发表于 2004-05-25 07:59 |只看该作者

求救:试了很多办法,就是产生例外!(一个对象排序问题)

所有的对象都看一下。
包括:
name, other, other.getName(), key, objects[postion-1],
在出错的语句上加断点,观察所有的变量的值,看看哪个是null?

论坛徽章:
0
3 [报告]
发表于 2004-05-25 08:37 |只看该作者

求救:试了很多办法,就是产生例外!(一个对象排序问题)

论坛徽章:
0
4 [报告]
发表于 2004-05-25 18:23 |只看该作者

求救:试了很多办法,就是产生例外!(一个对象排序问题)

多谢楼上两位,昨天晚上我已经把问题解决了。问题出在Sorts类中,在语句for (int index = 1; index < objects.length; index++) 中要用到objects的长度length,我开始定义的默认长度是100,其中包括了一些null对象,而这些对象并没有在sorts中进行排序,所以出现了错误。再次感谢楼上2位!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP