《接口与实现接口的类》由会员分享,可在线阅读,更多相关《接口与实现接口的类(6页珍藏版)》请在金锄头文库上搜索。
1、实 验 报 告课 程 名 称 面 向 对 象 程 序 设 计实 验 名 称 实 验 四 、 接 口 与 实 现 接 口 的 类 日 期 2016-10-14学 生 学 号 姓 名 班 级实 验 目 的 :通 过 本 次 实 验 , 要 求 学 生 能 进 一 步 掌 握 接 口 、 java.lang 包 中 的 基 础 类 库和 java.util 包 中 的 工 具 类 库 的 使 用 方 法 。实 验 条 件 :电 脑 一 台 、 能 上 网 查 阅 资 料 。1.定 义 Person 类 , 包 含 name( 姓 名 ) 、 birthday( 出 生 日 期 ) 、 idCard(
2、 身 份证 号 ) 、 sex( 性 别 ) 、 age(年 龄 )等 基 本 信 息 , 通 过 使 用 Comparator接 口 实验 Person 类 可 以 按 姓 名 、 年 龄 、 出 生 日 期 等 多 种 比 较 规 则 进 行 排 序 。源 代 码 :Person.java:package com.jsjx.char4;import java.util.Calendar;import java.util.Comparator;public class Person String name;String idCard;Calendar birthday = Calendar.
3、getInstance();char sex;int age;public Person() public Person(String name,int year,int month,int day,String idCard,char sex,int age) this.name = name;birthday.set(year, month,day);this.idCard = idCard;this.sex = sex;this.age = age;class CompareName implements ComparatorOverridepublic int compare(Pers
4、on o1, Person o2) return pareTo(o2.name);class CompareBirthday implements Comparator Overridepublic int compare(Person o1, Person o2) return pareTo(o2.birthday);class CompareAge implements Comparator Overridepublic int compare(Person o1, Person o2) return new Integer(o1.age).compareTo(new Integer(o2
5、.age);main.javapackage com.jsjx.char4;import java.util.Arrays;public class main public static void main(String args) int n =3;Person arr = new Personn;arr0 = new Person(张三 ,1976,3,26,350821,男 ,20);arr1 = new Person(李四,1995,4,27,350821, 男,12);arr2 = new Person(王五,1996,10,28, 350821,女 ,19);for(int i=0
6、;ic&a+cb&b+ca) this.a = a;this.b = b;this.c = c; else System.out.println(这三条边无法构成三角形 );public boolean IsTriangle() return a+bcpublic double area() double l = perimeter()/ 2;return Math.sqrt(l * (l - a) * (l - b) * (l - c);public double perimeter() return a + b + c;class test public static void main(
7、String args) Scanner s = new Scanner(System.in);double r;System.out.println(输入圆的半径 );r = s.nextDouble();IShape c = new Circle(r);System.out.println(圆的面积是 +c.area()+周长是+ c.perimeter();System.out.println(输入正方形的边长 );r = s.nextDouble();c = new Square(r);System.out.println(圆的面积是 +c.area()+周长是+ c.perimeter();System.out.println(输入三角形的三条边 );double i,j,k;i = s.nextDouble();j = s.nextDouble();k = s.nextDouble();c = new Triangle(i,j,k);System.out.println(三角形的面积是 +c.area()+周长是+ c.perimeter();s.close();实 验 结 果 :实 验 总 结 ( 结 论 或 问 题 分 析 ) :实 验 成 绩 任 课 教 师 签 名