版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告课程名称面向对象程序设计实验名称实验六、接口与实现接口的类日期2018/4/29学生学号姓名班级实验目的: 通过本次实验,要求学生能进一步掌握接口、java.lang包中的基础类库和java.util包中的工具类库的使用方法。实验条件: 电脑一台、能上网查阅资料。1.定义person类,包含name(姓名)、birthday(出生日期)、idcard(身份证号)、sex(性别)、age(年龄)等基本信息,通过使用comparator接口实验person类可以按姓名、年龄、出生日期等多种比较规则进行排序。源代码:package person;public class person str
2、ing name;string idcard;string birthday;char sex;int age;public person() public person(string name, string idcard, string birthday, char sex, int age) super(); = name;this.idcard = idcard;this.birthday = birthday;this.sex = sex;this.age = age;package person;import java.util.comparator;public
3、 class comparename implements comparatoroverridepublic int compare(person p1, person p2) / todo 自动生成的方法存根return pareto();package person;import java.util.comparator;public class comparebirthday implements comparatoroverridepublic int compare(person p1, person p2) / todo 自动生成的方法存根return pareto(
4、p2.birthday);package person;import java.util.comparator;public class compareage implements comparatorsuppresswarnings(deprecation)overridepublic int compare(person p1, person p2) / todo 自动生成的方法存根return new integer(p1.age).compareto(new integer(p2.age);package person;import java.util.arrays;public cl
5、ass persontext public static void main(string args) / todo 自动生成的方法存根int n=5;person person=new personn;person0=new person(张三, 4569, 1996年6月6日, 男, 22);person1=new person(李四, 1234, 1995年4月3日, 男, 23);person2=new person(王五, 2589, 1997年3月5日, 男, 21);person3=new person(赵丽, 3698, 1998年2月5日, 女, 20);person4=ne
6、w person(宋月, 5869, 1998年1月1日, 女, 20);system.out.println(原来顺序为:);for(int i=0;in;i+) system.out.println(姓名 :++ 性别:+personi.sex+ 年龄:+personi.age+ 生日:+personi.birthday);system.out.println(n按姓名排序后顺序为:);arrays.sort(person,new comparename();for(int i=0;in;i+) system.out.println(姓名:+
7、+ 性别:+personi.sex+ 年龄:+personi.age+ 生日:+personi.birthday);system.out.println(n按年龄排序后顺序为:);arrays.sort(person,new compareage();for(int i=0;in;i+) system.out.println(姓名:++ 性别:+personi.sex+ 年龄:+personi.age+ 生日:+personi.birthday);system.out.println(n按生日排序后顺序为:);arrays.sort(person,new compare
8、birthday();for(int i=0;in;i+) system.out.println(姓名:++ 性别:+personi.sex+ 年龄:+personi.age+ 生日:+personi.birthday);实验结果:2.首先定义基本几何图形接口(ishape),然后定义ishape的实现类circle(圆形)、square(正方形)和triangle(三角形)。要求计算各种图形的面积和周长。(提示:求三角形的面积用海伦公式:,其中a,b,c是三角形的边长,l=(a+b+c)/2,即周长的一半。)源代码:package jiekoushape;public
9、 interface ishape public double area();public double length();package jiekoushape;public class circle implements ishape private string name;private double r;public circle(string name, double r) super(); = name;this.r = r;public string getname() return name;public void setname(string name) t
10、 = 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 length() / todo 自动生成的方法存根return math.pi*r*2;overridepublic string tostring() / todo 自动生成的方法存根return name+周长是:+length()+
11、,+面积是:+area();package jiekoushape;public class square implements ishape private string name;private double a;public square(string name, double a) super(); = name;this.a = a;public string getname() return name;public void setname(string name) = name;public double geta() return a;pu
12、blic void seta(double a) this.a = a;overridepublic double area() / todo 自动生成的方法存根return a*a;overridepublic double length() / todo 自动生成的方法存根return 4*a;overridepublic string tostring() / todo 自动生成的方法存根return name+周长是:+length()+,+面积是:+area();package jiekoushape;public class triangle implements ishape p
13、rivate string name;private double a;private double b;private double c;public triangle(string name, double a, double b, double c) super(); = name;this.a = a;this.b = b;this.c = c;public string getname() return name;public void setname(string name) = name;public double geta() return
14、 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 double area() / todo auto-generated method stubdouble l=(a+b+c)/2;return math.sqrt(l*(l-a)*(l-b)*(l-c);public double
15、 length() / todo auto-generated method stubreturn a+b+c;overridepublic string tostring() / todo 自动生成的方法存根return name+周长是:+length()+,+面积是:+area();package jiekoushape;public class demoishape public static void main(string args) / todo 自动生成的方法存根ishape shape=null;shape=new circle(圆形,3);system.out.println(shape.tostring();shape=new square(正方形, 4);system.out.p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论