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(2006,7,4);
days[2] = new Date(2008,5,4);
days[3] = new Date(2004,5,9);
days[4] = new Date(2004,5,4);
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) { //21行
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 //41行
: year < date.year ? -1 / /42行
: month > date.month ? 1 / /43行
: month < date.month ? -1 / /44行
: day > date.day ? 1 //45行
: day < date.day ? -1 : 0; //46行
}
public String toString() {
return "Year-month-day:"+year+"-"+month+"-"+day;
}
}
编译的时候报错:
TestDateSort.java:21: 错误: 不兼容的类型: Date无法转换为Date[]
if(a[j].compare(a[j+1]) > 0) {
^
TestDateSort.java:41: 错误: 找不到符号
return year > date.year ? 1
^
符号: 变量 year
位置: 类型为Date[]的变量 date
TestDateSort.java:42: 错误: 找不到符号
: year < date.year ? -1
^
符号: 变量 year
位置: 类型为Date[]的变量 date
TestDateSort.java:43: 错误: 找不到符号
: month > date.month ? 1
^
符号: 变量 month
位置: 类型为Date[]的变量 date
TestDateSort.java:44: 错误: 找不到符号
: month < date.month ? -1
^
符号: 变量 month
位置: 类型为Date[]的变量 date
TestDateSort.java:45: 错误: 找不到符号
: day > date.day ? 1
^
符号: 变量 day
位置: 类型为Date[]的变量 date
TestDateSort.java:46: 错误: 找不到符号
: day < date.day ? -1 : 0;
^
符号: 变量 day
位置: 类型为Date[]的变量 date
注: 某些消息已经过简化; 请使用 -Xdiags:verbose 重新编译以获得完整输出
7 个错误