public class BubbleSort {
public static void main(String[] args) {
Date[] date = new Date[5];
date[0] = new Date(2008, 5, 6);
date[1] = new Date(2009, 9, 4);
date[2] = new Date(2008, 8, 8);
date[3] = new Date(2001, 4, 3);
date[4] = new Date(2009, 3, 2);
bubbleSort(date);
for(int i = 0; i < date.length; i++) {
System.out.println(date[i]);
}
}
public static Date[] bubbleSort(Date[] a) {
for(int i =a.length-1; i >= 1; i--) {
for(int j = 0; j <= i-1; i++) {
if( a[j].compare(a[j+1]) > 0) {
Date temp = a[j+1];
a[j+1] =a[j];
a[j] = temp;
}
}
}
return a;
}
}
class Date {
int year, month, day;
public Date(int Year, int Month, int Day) {
this.year = Year;
this.month = Month;
this.day = Day;
}
public int compare(Date a) {
return this.year > a.year ? 1
:this.year < a.year ? 0
:this.month > a.month ? 1
:this.month< a.month ? 0
:this.day > a.day ? 1
:this.day < a.day ? 0 : -1;
}
public String toString() {
return "year-month-day:"+year+"-"+month+"-"+day;
}
}
------解决方案--------------------
for(int j = 0; j <= i-1; i++)
改成for(int j = 0; j <= i-1; j++)
运行结果:
year-month-day:2001-4-3
year-month-day:2008-5-6
year-month-day:2008-8-8
year-month-day:2009-3-2
year-month-day:2009-9-4
------解决方案--------------------