




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称面向对象程序设计实验名称实验六、接口与实现接口的类日期2018/4/29学生学号姓名班级实验目的:通过本次实验, 要求学生能进一步掌握接口、 java.lang 包中的基础类库和java.util 包中的工具类库的使用方法。实验条件:电脑一台、能上网查阅资料。1.定义Person类,包含 name(姓名)、birthday (出生日期)、idCard(身份证号)、sex(性别)、age(年龄)等基本信息,通过使用 Comparator<T>接口实验Person类可以按姓名、年龄、出生日期等多种比较规则进行排序。源代码:package person;publicclassPerson{Stringname;StringidCard;Stringbirthday;charsex;intage;publicPerson(){}publicPerson(Stringname,StringidCard,Stringbirthday,charsex,intage){super();=name;this.idCard=idCard;this.birthday=birthday;this.sex=sex;this.age=age;}精选文库}package person;import java.util.Comparator;public class CompareName implements Comparator<Person>{@Overridepublic int compare(Person p1,Person p2){TODO自动生成的方法存根return p1.pareTo( );}}package person;import java.util.Comparator;public class CompareBirthday implements Comparator<Person>{@Overridepublic int compare(Person p1,Person p2){TODO自动生成的方法存根return p1.birthday .compareTo( p2.birthday );}}package person;import java.util.Comparator;public class CompareAge implements Comparator<Person>{@SuppressWarnings ("deprecation" )@Overridepublic int compare(Person p1,Person p2){TODO自动生成的方法存根return newInteger( p1.age).compareTo( newInteger( p2.age));— 2精选文库}}package person;import java.util.Arrays;public class PersonText{public static void main(String[] args){TODO自动生成的方法存根intn=5;Person[]person=newPerson[n];person[0]=newPerson("张三","4569","1996年6月6日",'男',22);person[1]=newPerson("李四","1234","1995年4月3日",'男',23);person[2]=newPerson("王五","2589","1997年3月5日",'男',21);person[3]=newPerson("赵丽","3698","1998年2月5日",'女',20);person[4]=newPerson("宋月","5869","1998年1月1日",'女',20);System.out.println("原来顺序为:");for(inti=0;i<n;i++){System.out.println("姓名:"+person[i].name+"性别:"+person[i].sex+"年龄:"+person[i].age+"生日:"+person[i].birthday);}System.out.println("\n按姓名排序后顺序为:");Arrays.sort(person,newCompareName());for(inti=0;i<n;i++){System.out.println("姓名:"+person[i].name+"性别:"+person[i].sex+"年龄:"+person[i].age+"生日:"+person[i].birthday);}System.out.println("\n按年龄排序后顺序为:");Arrays.sort(person,newCompareAge());for(inti=0;i<n;i++){System.out.println("姓名:"+person[i].name+"性别:"+person[i].sex+"年龄:"+person[i].age+"生日:"+person[i].birthday);}System.out.println("\n按生日排序后顺序为:");Arrays.sort(person,newCompareBirthday());for(inti=0;i<n;i++){System.out.println("姓名:"+person[i].name+"性别:"+person[i].sex+"年龄:"+person[i].age+"生日:"+person[i].birthday);— 3精选文库}}}实验结果:2.首先定义基本几何图形接口(IShape),然后定义IShape的实现类Circle(圆形)、Square(正方形)和Triangle(三角形)。要求计算各种图形的面积和周长。(提示:求三角形的面积用海伦公式:SL*(La)*(Lb)*(Lc),其中a,b,c是三角形的边长,L=(a+b+c)/2,即周长的一半。)源代码:package jiekoushape;— 4精选文库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();this .name= name;this .r= r;}public StringgetName(){return name;}public void setName(String name){this .name= name;}public double getR(){return r;}public void setR( double r){this .r= r;}— 5精选文库@Overridepublic double area(){TODO自动生成的方法存根return Math. PI*Math. pow(r,2);}@Overridepublic double length(){TODO自动生成的方法存根return Math. PI*r*2;}@Overridepublic StringtoString(){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();this .name= name;this .a= a;}— 6精选文库public StringgetName(){return name;}public void setName(String name){this .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;}@Override— 7精选文库public StringtoString(){TODO自动生成的方法存根return name+"周长是:"+length()+ "," +"面积是:"+area();}}package jiekoushape;public class Triangle implements IShape{private String name;private double a;private double b;private double c;publicTriangle(Stringname,doublea,doubleb,doublec){super();=name;this.a=a;this.b=b;this.c=c;}public StringgetName(){return name;}public void setName(String name){this .name= name;}public double getA(){return a;}— 8精选文库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(){TODOAuto-generatedmethodstubdouble l=(a+b+c)/2;return Math. sqrt (l*(l-a)*( l-b)*( l-c));}public double length(){TODOAuto-generatedmethodstubreturn a+b+c;}— 9精选文库@Overridepublic StringtoString(){TODO自动生成的方法存根return name+"周长是:"+length()+ "," +"面积是:"+area();}}package jiekoushape;public class DemoIShape{public static void main(String[] args){TODO自动生成的方法存根IShapeshape=null;shape=newCircle("圆形",3);System.out.println(shape.toString());shape=newSquare("正方形",4);Syste
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村个体农场经营合同范本
- 包料装修合同范本
- 人流手术合同范本
- 2024年全国特岗教师招聘考试真题
- 2024年钦州市遴选公务员考试真题
- 2024年台州温岭市中医院招聘员工笔试真题
- 出售隔断酒柜合同范本
- 个人房屋担保合同范本
- 光伏清洗施工合同范例
- 2024年保山市智源高级中学招聘教师考试真题
- 2025年内蒙古呼伦贝尔农垦拉布大林上库力三河苏沁农牧场招聘115人历年高频重点模拟试卷提升(共500题附带答案详解)
- (2025)特种设备安全管理员考试题库及参考答案
- 中学创客教育教学活动计划
- 2025年广东省广州市食品检验所事业单位招聘若干人高频重点提升(共500题)附带答案详解
- 《移动通信市场推广策略》课件
- 2024年湖南工业职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 2024年湖南司法警官职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 2025年国家药品监督管理局药品审评中心招聘11人历年高频重点提升(共500题)附带答案详解
- 2024年广东省《辅警招聘考试必刷500题》考试题库含必背答案
- 餐饮企业牛奶产品推广方案
- 2025年中国南光集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论