谁能告诉我这个错误是什么意思啊? 哪里错了?代码没错误,不能执行。
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; } }
你的代码太凌乱了,初步看了一下,这里有个明显的错误:
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--
啊,看到了,谢谢啊!
我第一次用这个博客园提问,复制后代码都乱了,非常感谢啊。
@Future曙光: 不客气,在编辑器的最后面有一个插入代码的插件