class Date1
{
int year,month,day;
public Date1(int y,int m,int d)
{
   year=y;
   month=m;
   day=d;
}
public int compare(Date1 date)
{
  return year>date.year ? 1
  :year<date.year ? -1
  :month>date.month ? 1
  :month<date.month ? -1
  :day>data.day ? 1
  :day<data.day ? -1 : 0; }
}
public class Test1
{
public static void main(String [] args)
{
 Date1[] d=new Date1[4];
 d[0]=new Date1(2004,11,11);
 d[1]=new Date1(2003,11,11);
 d[2]=new Date1(2002,11,11);
 d[3]=new Date1(2001,11,11);
 sort(d);
}
public static void sort(Date1 [] a)
{
  for (int i=0;i<a.length ;i++ )
  {
  for (int j=j+1;j<a.length ;j++ )
  {
  if (a[i].compare(a[j]<0))
  {
  int temp ;
  temp=a[i];
  a[i]=a[j];
  a[j]=temp;
  }
  }
  }
}
}

解决方案 »

  1.   

    代码有几处大的错误,在你原有基础上帮你改了一下,改后代码如下,改后的地方都给你有注释,
    其中删掉了部分,对照你原来的好好看看。import java.util.*;   //引入包
    class Date1 implements Comparable   //实现接口Comparable

    int year,month,day; 
    public Date1(int y,int m,int d)  //构造函数

      year=y; 
      month=m; 
      day=d; 

    public int compareTo(Object o)  //实现Comparable的函数compareTo()方法

      Date1 date=(Date1)o;
      return year>date.year ? 1 
      :year <date.year ? -1 
      :month>date.month ? 1 
      :month <date.month ? -1 
      :day>data.day ? 1 
      :day <data.day ? -1 : 0; } 

    public class Test1 

    public static void main(String [] args) 

    Date1[] d=new Date1[4]; 
    d[0]=new Date1(2004,11,11); 
    d[1]=new Date1(2003,11,11); 
    d[2]=new Date1(2002,11,11); 
    d[3]=new Date1(2001,11,11); 
    Arrays.sort(d);  //调用Arrays.sort(d)方法,实现排序