public class TestData1{
public static void main(String [] args){
Date[] days=new Date[3];
//int day[]={0,1,2,3,4};
days[0]=new Date(2004,1,4);
days[1]=new Date(2004,2,5);
days[2]=new Date(2004,3,6);
Sort(days);
for(int i=0;i<days.length;i++){
System.out.println(days[i]+"  ");
}
}
class Date{
int day;
int month;
int year;
Date(int d,int m,int y){
day=d;
month=m;
year=y;
}
public  Date[] Sort(Date[] days){
for(int i=0;i<days.length;i++){
for(int j=i+1;j<days.length;j++){
if(days[i].compare(days[j])>0){
Date temp=days[i];
days[i]=days[j];
days[j]=temp;
}
}
}
return days;
}
}
public int compare(Date[] days){
return    year>days.year ? 1;
         :  year<days.year ? -1;
         :  month>data.month ? 1;
         :  month<data.month ? -1;
         :  year>data.year ?  1;
         :  year<data.year ?  -1:0;
}
public String toString(){
return  day+" "+month+" "+year;
}
}

解决方案 »

  1.   

    Date(int d,int m,int y){ days[0]=new Date(2004,1,4); 
    你仔细看看,连参数的顺序都搞错了! 如果能对,那就见鬼了!!
      

  2.   

    1.
    days[0]=new Date(2004,1,4); 
    days[1]=new Date(2004,2,5); 
    days[2]=new Date(2004,3,6); Date(int d,int m,int y){ 
    day=d; 
    month=m; 
    year=y; 
    } //Date参数顺序错了;2.
    public String toString(){ 
    return  day+" "+month+" "+year; 
    } //上面的类写错了,不能那样定义。