




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称面向对象程序设计实验名称实验六、接口与实现接口的类日期2018/4/29学生学号姓名班级实验目的: 通过本次实验,要求学生能进一步掌握接口、java.lang包中的基础类库和java.util包中的工具类库的使用方法。实验条件: 电脑一台、能上网查阅资料。1.定义Person类,包含name(姓名)、birthday(出生日期)、idCard(身份证号)、sex(性别)、age(年龄)等基本信息,通过使用Comparator接口实验Person类可以按姓名、年龄、出生日期等多种比较规则进行排序。源代码:package person;public class Person String 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 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(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 class 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=new 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(姓名:++ 性别:+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 CompareBirthday();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 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) = 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()+,+面积是:+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;public 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 private 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 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 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);Syst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.3防疫小话剧(教学设计)2023-2024学年四年级上册信息技术川教版
- 2024秋五年级道德与法治上册 第一单元 面对成长中的新问题 1 自主选择课余生活说课稿 新人教版
- Unit 1 Friendship-Reading 说课稿英文版 2024-2025学年沪教版英语七年级上册
- 2025年2月医疗器械模考试题(含参考答案)
- 2025年全国起重指挥作业证考试题库(含答案)
- 2025年人教版七年级英语上册 Unit 1 You and Me 综合素质评价单元试卷(含答案)
- 2025共同租赁房屋合同范本汇编
- 2025租房合同模板示例
- 2025版权授权合同范本:手写字体制作协议
- 葡萄酒知识培训顺序课件
- 智能分拣与无人配送技术
- 塑胶件基础知识培训
- 幼儿园课程领导力在生长
- 初中教师教学基本功培训内容课件
- 肝硬化及其并发症
- 《无线网规网优概述》课件
- 事业单位工作人员转正定级审批表
- 《中央企业合规管理办法》解读与启示
- 王洪图黄帝内经80课时讲稿
- 八德教育核心内容-课件
- 王力宏经典歌曲歌词全集
评论
0/150
提交评论