


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程名称面向对象程序设计实验名称实验六、接口与实现接口的类日期2018/4/29学生学号姓名班级实验目的:通过本次实验,要求学生能进一步掌握接口、java.la ng包中的基础类库和java.util包中的工具类库的使用方法。实验条件:电脑一台、能上网查阅资料。1.定义Person类,包含name (姓名)、birthday (出生日期)、idCard (身份证 号)、sex (性别)、age(年龄)等基本信息,通过使用Comparator<T>接口实验Person类可以按姓名、年龄、出生日期等多种比较规则进行排序。源代码:package person;public class P
2、ers on Stri ngn ame;StringidCard ;String birthday ;char sex ;int age;public Pers on() public Person(Stringname, StringidCard , Stringbirthday , char sex , int age) super ();this . name = name;this . idCard = idCard ;this . birthday = birthday ;this . sex = sex ;this . age = age ;package person;impor
3、tpublic class CompareName impleme nts Comparator<Pers on>Overridepublic int compare(Pers onp1 , Pers onp2) / TODO自动生成的方法存根returnpl . pareTo( p2. name);package person;importpublic class CompareBirthdayimpleme ntsComparatorvPers on>Overridepublic int compare(Pers onp1 , Pers onp2) / TODO自动生成的
4、方法存根returnp1 . birthday .compareTo( p2. birthday );package person;importpublic class CompareAgeimpleme ntsComparatorvPers on>SuppressWarnings ("deprecation" )Overridepublic int compare(Pers onpl , Pers onp2) / TODO自动生成的方法存根newlnteger( p2. age);return new Integer( pl . age ).compareTo( p
5、ackage import publicpers on;class Pers on Text public static/ TODOvoid main( Str in g自动生成的方法存根args ) int n=5;Pers onpers on0=newPers on("张三“,"4569","1996年6月6日",'男,22);pers on1=newPers on("李四",“1234","1995年4月3日",'男,23);pers on2=newPers on(&quo
6、t;王五","2589","1997年3月5日",'男,21);pers on3=newPers on("赵丽“,"3698","1998年2月5日",'女',20);pers on4=newPers on("宋月“,"5869","1998年1月 1日",'女',20);System.out.pri ntl n(“原来顺序为:");for (inti =0; i <n; i +) Syst
7、em.out.pr in tl n("姓名:"+pers +"性别:"+pers onpers on =new Pers onn;age+" 生日:"+person i . birthdayi .);i . sex +"年龄:"+pers onSystem.Arrays. for (intout .println( "n按姓名排序后顺序为sort ( person , new CompareName();i =0; i <n; i +) :");System. out .p
8、rintln("姓名:"+person i . name+" 性别:"+person i . sex +" 年龄:"+person i . age+"生日:"+person i . birthday );System. out .println( "n按年龄排序后顺序为:");Arrays. sort ( person , new CompareAge();for (int i =0; i <n; i +) System. out .println("姓名:"+pers
9、on i . name+" 性别:"+person i . sex +" 年龄:"+person i . age+"生日:"+person i . birthday );System. out .println( "n按生日排序后顺序为 :");Arrays. sort ( person , new CompareBirthday();for (int i =0; i <n; i +) System. out .println("姓名:"+person i . name+" 性别
10、:"+person i . sex +" 年龄:"+person i . age+"生日:"+person i . birthday );实验结果:2.首先定义基本几何图形接口( IShape ),然后定义IShape的实现类Circle(圆 形)、Square (正方形)和Triangle(三角形)。要求计算各种图形的面积和周长。(提示:求三角形的面积用海伦公式:S L* (L a)*(L b)*(L c),其中a,b,c是三角形的边长,L=(a+b+c)/2 ,即周长的一半。) 源代码:package jiekoushape;public
11、in terface IShape public doublepublic doublepackage jiekoushape;public class Circlearea(); len gth();impleme ntsIShapeprivate privateStr ing doublen ame;publicCircle(Str ingsuper ();this . name = name;n ame,double r) this . r = r ;n ame) public Stri ng getName() return n ame;public void setName(Stri
12、 ng this . name = name;public double getR() return r;public void setR( double r) this . r = r ;Overridepublic double area() / TODO自动生成的方法存根return Math. PI *Math. pow( r , 2);Overridepublic double len gth() / TODO自动生成的方法存根return Math. PI *r *2;Overridepublic String toString() / TODO自动生成的方法存根"+ar
13、ea();returnname+"周长是:"+length()+"," +"面积是:package jiekoushape;public class Squareimpleme ntsIShape privateStri ngn ame;private double a;publicSquare(Str ingn ame, double a) super ();this . name = name;this . a = a;public Stri ng getName() returnn ame;public void setName(Stri
14、 ng n ame) this . name = name;public double getA() return a;public void setA( double a) this . a = a;Overridepublic double area() / TODO自动生成的方法存根return a* a;Overridepublic double len gth() / TODO自动生成的方法存根return 4* a;OverridepublicString toString() / TODO自动生成的方法存根returnname+"周长是:"+length()+
15、 "," +"面积是:"+area();package jiekoushape;public class Trian gleimpleme ntsIShapeprivateStr ingn ame;privatedoublea;privatedoubleb;privatedoublec;publicTria ngle(Stri ngn ame,double a, double b, double c) super ();this . name = name;this . a = a;this . b = b;this . c = c;public Str
16、i ng getName() returnn ame;public void setName(Stri ngn ame) this . name = name;public double getA() return a;public void setA( double a) this . a = a;public double getB() return b;public void setB( double b) this . b = b;public double getC() return c;public void setC( double c) this . c = c;public
17、double area() / TODOAuto-ge nerated method stubdouble l =( a+b+c)/2;return Math. sqrt ( l *( l - a)*( l - b)*( l - c);public double len gth() / TODOAuto-ge nerated method stub retur na+b+c;OverridepublicStri ng toStri ng() / TODO自动生成的方法存根returnname+"周长是:"+length()+ "," +"面积是:"+area(); package jiekoushape;public class DemoIShape public static void main( Str in gargs ) / TODO自动生成的方法存根IShape shape =n ull shape =new Circle( System. out .println( shape =new Square( System. out .println( shape =new Trian gle( Sys
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023一年级数学上册 八 认识钟表(小明的一天)教学实录 北师大版
- 2024年宜昌市当阳市招聘中小学幼儿园教师笔试真题
- 2024年徐州市卫生健康委直属事业单位招聘笔试真题
- 2024年绍兴市上虞区事业单位招聘笔试真题
- 2024年凉山州昭觉县招聘中学教师笔试真题
- 2024年怀化市沅陵县天宁高级中学教师招聘笔试真题
- 浙教版七年级科学上册2.4《常见的动物(脊椎动物)》教学设计
- 2024年四年级英语下册 Unit 2 There are forty students in our class Lesson 12教学实录 人教精通版(三起)
- 2024秋二年级道德与法治上册 第9课 亲亲你大自然教学实录 苏教版
- 《第二单元 物体的运动:7 运动的快慢》教学设计-2024-2025学年苏教版科学四年级上册
- 2025年甘肃省白银市景泰县公益性岗位招聘9人历年高频重点提升(共500题)附带答案详解
- (新版)大堂经理持证上岗(厅堂服务类)考试题库(含答案)
- 《光电对抗原理与应用》课件第5章
- 三维建模合同
- 八年级劳动教育国家测试题及答案
- 2025年中煤集团华东分公司及所属项目公司公开招聘管理单位笔试遴选500模拟题附带答案详解
- 《海洋牧场岩土工程勘察规程》
- 2024年吉林省高职高专单招考试数学试题(含答案)
- DB52T 1693-2022 文化旅游商品基地规范与评定
- 《马克思主义原理》课件
- 新生儿常见导管护理
评论
0/150
提交评论