public class Test3{
public static void main(String args[]){
Date date2[];
date2=new Date[5];
date2[0]=new Date(2013,1,4);
date2[1]=new Date(2013,2,2);
date2[2]=new Date(2013,1,3);
date2[3]=new Date(2013,1,1);
date2[4]=new Date(2013,2,5);
date2=date2.compare2(date2);//错误。
date2.compare2(date2);//也是错误,为什么,那么该如何指向返回的数组呢
                  date2=&date2.compare2(date2);//错误。
for(int i=0;i<date2.length;i++){
System.out.println(date2[i]);
}
}
}
class Date{
int year,month,day;
Date(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public int compare(Date date){
                  ....省略
}
public Date[] compare2(Date[] a){
Date temp;
for(int i=0;i<a.length;i++)
for(int j=i+1;j<a.length;j++){
if(a[i].compare(a[j])==1){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
return a;
}
public String toString(){
return(year+"-"+month+"-"+day);
}
}

解决方案 »

  1.   

    你的compare2这能被Date实例调用,而你用的是Date实例的数组去调用,那能行吗?date2[1].compare2这样可以的
      

  2.   

    public class Test3{
    public static void main(String args[]){
    Date date2[];
    date2=new Date[5];
    date2[0]=new Date(2013,1,4);
    date2[1]=new Date(2013,2,2);
    date2[2]=new Date(2013,1,3);
    date2[3]=new Date(2013,1,1);
    date2[4]=new Date(2013,2,5);
    date2=new Date().compare2(date2);//改这里就可以了...
    new Date().compare2(date2);//也是错误,为什么,那么该如何指向返回的数组呢
                    // date2=&date2.compare2(date2);//错误。
    for(int i=0;i<date2.length;i++){
    System.out.println(date2[i]);
    }
    }
    }
    class Date{
    int year,month,day;
    Date(int year,int month,int day){
    this.year=year;
    this.month=month;
    this.day=day;
    }
    public int compare(Date date){
                      ....省略
    }
    public Date[] compare2(Date[] a){
    Date temp;
    for(int i=0;i<a.length;i++)
    for(int j=i+1;j<a.length;j++){
    if(a[i].compare(a[j])==1){
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
    }
    }
    return a;
    }
    public String toString(){
    return(year+"-"+month+"-"+day);
    }
    }
    注意Date类不要Package错jar,最好起类名不要用这种关键字...
      

  3.   

    Date本身就是关键字
    这样用会出一些莫名其妙的错误的
      

  4.   


    // 编辑框不是可以选插入代码吗,选择java,然后把你代码粘贴到里面就行了