Java小白求助

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 个错误

原创文章 4 获赞 4 访问量 218

猜你喜欢

转载自blog.csdn.net/qq_24885953/article/details/100171945