首页 新闻 赞助 找找看

新手求教,java排序的一个小问题

0
[已解决问题] 解决于 2012-02-23 14:50

谁能告诉我这个错误是什么意思啊? 哪里错了?代码没错误,不能执行。

 

 

public class TestDateSort{  public static void main(String args[]){   Date days[] =new Date[5];   days[0]= new Date (2006 , 5 ,4);   days[1]= new Date (2008 , 4 ,3);   days[2]= new Date (2001 , 1 ,2);   days[3]= new Date (2011 , 3 ,4);   days[4]= new Date (2002 , 5 ,6);    bubbleSort(days);       for(int i=0;i<days.length ;i++){     System.out.println(days[i]);          }    } public static Date [] bubbleSort(Date a[]){    int len=a.length;    for(int i=len-1; i>=1;i++){     for(int j=0;j<=i-1; j++){      if(a[j].compare(a[j+1])> 0 ){       Date temp =a[j];       a[j]=a[j+1];       a[j+1]=temp;       }      }     }   return a;  }     }

class Date{  int year, month, day;    Date (int y, int m, int d){    year =y; month =m; day = d;   }      public int compare (Date date){    return year >date.year ? 1    : year <date.year ? -1    :month>date.month? 1    :month<date.month? -1    : day >date.day ? 1    : day <date.day ? -1 :0;    }        public String toString(){     return "year: Month:day--" +year +"-" +month +"-" +day;     } }

 

 

 

夜雨星辰-的主页 夜雨星辰- | 初学一级 | 园豆:194
提问于:2012-02-15 15:44
< >
分享
最佳答案
0

你的代码太凌乱了,初步看了一下,这里有个明显的错误:

public static Date [] bubbleSort(Date a[])
{
int len=a.length;
for(int i=len-1; i>=1;i++)
{
for(int j=0;j<=i-1; j++)
{
if(a[j].compare(a[j+1])> 0 )
{
Date temp =a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
return a;
}

第一个for里应该是i--

artwl | 专家六级 |园豆:16736 | 2012-02-15 17:35

啊,看到了,谢谢啊!

我第一次用这个博客园提问,复制后代码都乱了,非常感谢啊。

夜雨星辰- | 园豆:194 (初学一级) | 2012-02-15 17:39

@Future曙光: 不客气,在编辑器的最后面有一个插入代码的插件

artwl | 园豆:16736 (专家六级) | 2012-02-15 17:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册