java接口与实现接口的类实验报告_第1页
java接口与实现接口的类实验报告_第2页
java接口与实现接口的类实验报告_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论