java接口与实现接口的类实验报告[骄阳教育].doc

上传人:rrsccc 文档编号:9097322 上传时间:2021-02-02 格式:DOC 页数:11 大小:123.50KB
返回 下载 相关 举报
java接口与实现接口的类实验报告[骄阳教育].doc_第1页
第1页 / 共11页
java接口与实现接口的类实验报告[骄阳教育].doc_第2页
第2页 / 共11页
java接口与实现接口的类实验报告[骄阳教育].doc_第3页
第3页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《java接口与实现接口的类实验报告[骄阳教育].doc》由会员分享,可在线阅读,更多相关《java接口与实现接口的类实验报告[骄阳教育].doc(11页珍藏版)》请在三一文库上搜索。

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();this.name = 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(p2.name);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.name+ 性别:+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.name

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.name+ 性别:+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.name+ 性别:+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();this.name = name;this.r = r;public String getName() return name;public void setName(String name) t

10、his.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()+

11、,+面积是:+area();package jiekoushape;public class Square implements IShape private String name;private double a;public Square(String name, double a) super();this.name = name;this.a = a;public String getName() return name;public void setName(String name) this.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();this.name = name;this.a = a;this.b = b;this.c = c;public String getName() return name;public void setName(String name) this.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.println(shape.toString();shape=new Triangle(三角形, 3, 4, 5);System.out.println(shape.toString();实验结果:实验总结(结论或问题分析):本次实验,主要是对接口、java.lang包中的基础类库和java.util包中的工具类库的使用,其中最难得就是使用Comparator对Person类进行排序,通过查阅资料了解了Comparator如何使用,受益匪浅。实验成绩任课教师签名11教育高等a

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1