版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称面向对象程序设计实验名称实验六、接口与实现接口的类日期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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 武汉民政职业学院《电工技术与电气控制》2023-2024学年第一学期期末试卷
- 个性化高端导购服务2024协议
- 2024版在线教育平台合作协议3篇
- 2024版反担保协议二
- 二零二五版临时用工岗位合同范本6篇
- 二零二五年度金融科技股票投资委托合同模板3篇
- 二零二五年度食品饮料个人物资采购合同参考文本6篇
- 四川职业技术学院《税收理论与实务》2023-2024学年第一学期期末试卷
- 二零二五版城市改造房屋拆迁挂靠管理合同3篇
- 2024美团商家入驻平台数据共享及隐私保护协议3篇
- 教师教学常规管理培训夯实教学常规强化教学管理PPT教学课件
- 公务员考试工信部面试真题及解析
- GB/T 15593-2020输血(液)器具用聚氯乙烯塑料
- 2023年上海英语高考卷及答案完整版
- 西北农林科技大学高等数学期末考试试卷(含答案)
- 金红叶纸业简介-2 -纸品及产品知识
- 《连锁经营管理》课程教学大纲
- 《毕淑敏文集》电子书
- 颈椎JOA评分 表格
- 定量分析方法-课件
- 朱曦编著设计形态知识点
评论
0/150
提交评论