实验四接口与实现接口的类Word文件下载.docx
- 文档编号:15899645
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:13
- 大小:58.68KB
实验四接口与实现接口的类Word文件下载.docx
《实验四接口与实现接口的类Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验四接口与实现接口的类Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
电脑一台、能上网查阅资料。
1.定义Person类,包含name(姓名)、birthday(出生日期)、idCard(身份证号)、sex(性别)、age(年龄)等基本信息,通过使用Comparator<
T>
接口实验Person类可以按姓名、年龄、出生日期等多种比较规则进行排序。
源代码:
packageshiyansi;
importjava.text.SimpleDateFormat;
importjava.util.ArrayList;
importjava.util.Calendar;
importjava.util.Comparator;
importjava.util.Date;
publicclassPerson{
Stringname;
intage;
charsex;
Datebirthday;
StringidCard;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
publicintgetAge(){
returnage;
publicvoidsetAge(intage){
this.age=age;
publicchargetSex(){
returnsex;
publicvoidsetSex(charsex){
this.sex=sex;
publicDategetBirthday(){
returnbirthday;
publicvoidsetBirthday(Datebirthday){
this.birthday=birthday;
publicStringgetIdCard(){
returnidCard;
publicvoidsetIdCard(StringidCard){
this.idCard=idCard;
publicPerson(Stringname,intage,charsex,Datebirthday,StringidCard){
super();
@Override
publicStringtoString(){
//TODOAuto-generatedmethodstub
SimpleDateFormatsd=newSimpleDateFormat("
yyyy年MM月dd日"
);
Stringstrbirthday=sd.format(birthday);
returnString.format("
姓名:
%s,年龄:
%d,出生日期:
%s"
name,age,strbirthday);
publicstaticvoidsort(ArrayList<
Person>
persons,Comparator<
rule,intdirection){
for(inti=0;
i<
persons.size()-1;
i++){
for(intj=0;
j<
persons.size()-i-1;
j++){
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))<
default:
}
}
}
publicstaticvoidmain(String[]args){
ArrayList<
persons=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"
男'
385657"
calendar.set(2003,2,1);
zhenqian"
34,'
235ffgh"
System.out.println("
排序之前的顺序:
"
for(Personitem:
persons){
System.out.println(item.toString());
//排序
Comparator<
rule=newCompareName();
sort(persons,rule,0);
按姓名排序的集合:
rule=newCompareAge();
sort(persons,rule,1);
按年龄排序的集合:
rule=newCompareBirthday();
按出生日期排序的集合:
rule=newCompareBirthdayAndAge();
按出生日期和年龄排序的集合:
}
classCompareNameimplementsComparator<
{
publicintcompare(PersonP1,PersonP2){
returnP1.getName().compareTo(P2.getName());
classCompareAgeimplementsComparator<
returnP1.getAge()-P2.getAge();
classCompareBirthdayimplementsComparator<
returnP1.getBirthday().compareTo(P2.getBirthday());
classCompareBirthdayAndAgeimplementsComparator<
if(P1.getAge()==P2.getAge()){
returnP1.getBirthday().compareTo(P2.getBirthday());
}else
returnP1.getAge()-P2.getAge();
实验结果:
2.首先定义基本几何图形接口(IShape),然后定义IShape的实现类Circle(圆形)、Square(正方形)和Triangle(三角形)。
要求计算各种图形的面积和周长。
(提示:
求三角形的面积用海伦公式:
,其中a,b,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 接口 实现