实验四接口与实现接口的类.docx

上传人:b****3 文档编号:2988653 上传时间:2022-11-16 格式:DOCX 页数:13 大小:58.68KB
下载 相关 举报
实验四接口与实现接口的类.docx_第1页
第1页 / 共13页
实验四接口与实现接口的类.docx_第2页
第2页 / 共13页
实验四接口与实现接口的类.docx_第3页
第3页 / 共13页
实验四接口与实现接口的类.docx_第4页
第4页 / 共13页
实验四接口与实现接口的类.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实验四接口与实现接口的类.docx

《实验四接口与实现接口的类.docx》由会员分享,可在线阅读,更多相关《实验四接口与实现接口的类.docx(13页珍藏版)》请在冰豆网上搜索。

实验四接口与实现接口的类.docx

实验四接口与实现接口的类

实验报告

课程名称

面向对象程序设计

实验名称

实验四、接口与实现接口的类

日期

2017/10/30

学生学号

姓名

班级

B150404

实验目的:

通过本次实验,要求学生能进一步掌握接口、java.lang包中的基础类库和java.util包中的工具类库的使用方法。

实验条件:

电脑一台、能上网查阅资料。

1.定义Person类,包含name(姓名)、birthday(出生日期)、idCard(身份证号)、sex(性别)、age(年龄)等基本信息,通过使用Comparator接口实验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();

this.name=name;

this.age=age;

this.sex=sex;

this.birthday=birthday;

this.idCard=idCard;

}

@Override

publicStringtoString(){

//TODOAuto-generatedmethodstub

SimpleDateFormatsd=newSimpleDateFormat("yyyy年MM月dd日");

Stringstrbirthday=sd.format(birthday);

returnString.format("姓名:

%s,年龄:

%d,出生日期:

%s",name,age,strbirthday);

}

publicstaticvoidsort(ArrayListpersons,Comparatorrule,intdirection){

for(inti=0;i

for(intj=0;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))<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,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1