版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管道焊接工艺标准化方案
- 暗能量与宇宙学前沿理论探索
- 2026届四川省成都市双流区双流棠湖中学语文高三第一学期期末调研试题含解析
- 河南省汝州市实验中学2026届生物高三上期末监测试题含解析
- 2026年上海久事智慧体育有限公司招聘备考题库附答案详解
- 2026年台州市水利水电勘测设计院有限公司招聘5人备考题库及答案详解一套
- 2026届泰安市重点中学高三语文第一学期期末综合测试模拟试题含解析
- 2026年中化学开发建设有限公司招聘备考题库完整答案详解
- 2026年云南惠民劳务服务有限公司关于客户联络中心坐席人员招聘10人备考题库附答案详解
- 甘肃省师范大学附属中学2026届高三生物第一学期期末质量检测模拟试题含解析
- DB11T 1493-2025 城镇道路雨水口技术规范
- 重庆水利安全员c证考试题库大全及答案解析
- 2025年中国台球杆行业市场全景分析及前景机遇研判报告
- bz-高标准农田建设项目勘察设计技术投标方案210
- 公司级安全培训内容
- 网格员冬季安全培训内容课件
- (2025修订版)CAAC无人机理论考试题库(含答案)
- 净化车间设计合同范本
- 医学生的基本素养
- 发票合规知识培训
- 医养结合业务培训课件
评论
0/150
提交评论