switch(direction){
case0:
//升序
if(pare(persons.get(j),persons.get(j+1))>0){
Persontmp=persons.get(j);
persons.set(j,persons.get(j+1));
persons.set(j+1,tmp);
}
break;
case1:
//降序
if(pare(persons.get(j),persons.get(j+1))<0){
Persontmp=persons.get(j);
persons.set(j,persons.get(j+1));
persons.set(j+1,tmp);
}
break;
default:
if(pare(persons.get(j),persons.get(j+1))>0){
Persontmp=persons.get(j);
persons.set(j,persons.get(j+1));
persons.set(j+1,tmp);
}
break;
}
}
}
}
publicstaticvoidmain(String[]args){
ArrayListpersons=newArrayList();
Calendarcalendar=Calendar.getInstance();
calendar.set(2003,5,3);
Datebirth=calendar.getTime();
Personperson=newPerson("liuyuxiao",20,'女',birth,"3878545");
persons.add(person);
calendar.set(2003,5,12);
birth=calendar.getTime();
person=newPerson("yuzhen",20,'男',birth,"385657");
persons.add(person);
calendar.set(2003,2,1);
birth=calendar.getTime();
person=newPerson("zhenqian",34,'男',birth,"235ffgh");
persons.add(person);
System.out.println("排序之前的顺序:
");
for(Personitem:
persons){
System.out.println(item.toString());
}
//排序
Comparatorrule=newCompareName();
sort(persons,rule,0);
System.out.println("按姓名排序的集合:
");
for(Personitem:
persons){
System.out.println(item.toString());
}
rule=newCompareAge();
sort(persons,rule,1);
System.out.println("按年龄排序的集合:
");
for(Personitem:
persons){
System.out.println(item.toString());
}
rule=newCompareBirthday();
sort(persons,rule,0);
System.out.println("按出生日期排序的集合:
");
for(Personitem:
persons){
System.out.println(item.toString());
}
rule=newCompareBirthdayAndAge();
sort(persons,rule,0);
System.out.println("按出生日期和年龄排序的集合:
");
for(Personitem:
persons){
System.out.println(item.toString());
}
}
}
classCompareNameimplementsComparator{
@Override
publicintcompare(PersonP1,PersonP2){
//TODOAuto-generatedmethodstub
returnP1.getName().compareTo(P2.getName());
}
}
classCompareAgeimplementsComparator{
@Override
publicintcompare(PersonP1,PersonP2){
//TODOAuto-generatedmethodstub
returnP1.getAge()-P2.getAge();
}
}
classCompareBirthdayimplementsComparator{
@Override
publicintcompare(PersonP1,PersonP2){
//TODOAuto-generatedmethodstub
returnP1.getBirthday().compareTo(P2.getBirthday());
}
}
classCompareBirthdayAndAgeimplementsComparator{
@Override
publicintcompare(PersonP1,PersonP2){
//TODOAuto-generatedmethodstub
if(P1.getAge()==P2.getAge()){
returnP1.getBirthday().compareTo(P2.getBirthday());
}else
returnP1.getAge()-P2.getAge();
}
}
实验结果:
2.首先定义基本几何图形接口(IShape),然后定义IShape的实现类Circle(圆形)、Square(正方形)和Triangle(三角形)。
要求计算各种图形的面积和周长。
(提示:
求三角形的面积用海伦公式:
,其中a,b,