public class TestData1{
public static void main(String [] args){
Data[] days=new Data[3];
//int day[]={0,1,2,3,4};
 days[0]=new Data(2004,1,4);
days[1]=new Data(2004,2,5);
days[2]=new Data(2004,3,6);
Sort(days);
for(int i=0;i<days.length;i++){
System.out.println(days[i]+"  ");
}
}
class Data{
int day;
int month;
int year;
Data(int d,int m,int y){
day=d;
month=m;
year=y;
}
public  Data[] Sort(Data[] 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){
Data temp=days[i];
days[i]=days[j];
days[j]=temp;
}
}
}
return days;
}
}
}

解决方案 »

  1.   

    导入util.*
    Arrays.sort(days);你的Data类没定义compare方法Data?Date?
    这名字起得
      

  2.   

    不知道楼主是啥意思,凑合改了改.供楼主参考吧.public class TestData1{ 
    public static void main(String [] args){ 
    Data[] days=new Data[6]; 
    Data[] newDays;
    days[0]=new Data(2,4,2004); 
    days[1]=new Data(1,7,2003); 
    days[2]=new Data(3,6,2005); 
    days[3]=new Data(3,3,2005); 
    days[4]=new Data(3,9,2005); 
    days[5]=new Data(2,4,2004); 
    newDays = new TestData1().sort(days); 
    for(int i=0;i <days.length;i++){ 
    System.out.println(newDays[i].toString()); 
    }


    public  Data[] sort(Data[] 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){ 
    Data temp=days[i]; 
    days[i]=days[j]; 
    days[j]=temp; 



    return days; 

    }
    class Data{ 
    Integer day; 
    Integer month; 
    Integer year; 
    Data(int d,int m,int y){ 
    day=d; 
    month=m; 
    year=y; 

    public String toString(){
    return year+"-"+month+"-"+day;
    }
    public int compare(Data d){
    if (year-d.year!=0){
    return year - d.year;
    }else 
    if(month -d.month!=0){
    return month-d.month;
    }else
    if (day - d.day!=0){
    return day - d.day;
    }else{
    return 0;
    }
    }