java接口与实现接口的类实验报告文档格式.docx
《java接口与实现接口的类实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《java接口与实现接口的类实验报告文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![java接口与实现接口的类实验报告文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/4/2769c954-47e9-4c81-a71c-5d0a9248208e/2769c954-47e9-4c81-a71c-5d0a9248208e1.gif)
源代码:
packageperson;
publicclassPerson{
Stringname;
StringidCard;
Stringbirthday;
charsex;
intage;
publicPerson(){
}
publicPerson(Stringname,StringidCard,Stringbirthday,charsex,intage){
super();
this.name=name;
this.idCard=idCard;
this.birthday=birthday;
this.sex=sex;
this.age=age;
}
importjava.util.Comparator;
publicclassCompareNameimplementsComparator<
Person>
{
@Override
publicintcompare(Personp1,Personp2){
//TODO自动生成的方法存根
returnpareTo(p2.name);
publicclassCompareBirthdayimplementsComparator<
//TODO自动生成的方法存根
returnpareTo(p2.birthday);
publicclassCompareAgeimplementsComparator<
@SuppressWarnings("
deprecation"
)
returnnewInteger(p1.age).compareTo(newInteger(p2.age));
importjava.util.Arrays;
publicclassPersonText{
publicstaticvoidmain(String[]args){
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日"
System.out.println("
原来顺序为:
"
);
for(inti=0;
i<
n;
i++){
System.out.println("
姓名:
+person[i].name+"
性别:
+person[i].sex+"
年龄:
+person[i].age+"
生日:
+person[i].birthday);
}
\n按姓名排序后顺序为:
Arrays.sort(person,newCompareName());
姓名:
\n按年龄排序后顺序为:
Arrays.sort(person,newCompareAge());
\n按生日排序后顺序为:
Arrays.sort(person,newCompareBirthday());
实验结果:
2.首先定义基本几何图形接口(IShape),然后定义IShape的实现类Circle(圆形)、Square(正方形)和Triangle(三角形)。
要求计算各种图形的面积和周长。
(提示:
求三角形的面积用海伦公式:
,其中a,b,c是三角形的边长,L=(a+b+c)/2,即周长的一半。
packagejiekoushape;
publicinterfaceIShape{
publicdoublearea();
publicdoublelength();
publicclassCircleimplementsIShape{
privateStringname;
privatedoubler;
publicCircle(Stringname,doubler){
this.r=r;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
publicdoublegetR(){
returnr;
publicvoidsetR(doubler){
publicdoublearea(){
returnMath.PI*Math.pow(r,2);
publicdoublelength(){
returnMath.PI*r*2;
publicStringtoString(){
returnname+"
周长是:
+length()+"
"
+"
面积是:
+area();
publicclassSquareimplementsIShape{
privatedoublea;
publicSquare(Stringname,doublea){
this.a=a;
publicdoublegetA(){
returna;
publicvoidsetA(doublea){
returna*a;
return4*a;
publicclassTriangleimplementsIShape{
privatedoubleb;
privatedoublec;
publicTriangle(Stringname,doublea,doubleb,doublec){
this.b=b;
this.c=c;
publicdoublegetB(){
returnb;
publicvoidsetB(doubleb){
publicdoublegetC(){
returnc;
publicvoidsetC(doublec){
//TODOAuto-generatedmethodstub
doublel=(a+b+c)/2;
returnMath.sqrt(l*(l-a)*(l-b)*(l-c));
returna+b+c;
publicclassDemoIShape{
IShapeshape=null;
shape=newCircle("
圆形"
3);
System.out.println(shape.toString());
shape=newSquare("
正方形"
4);
shape=newTriangle("
三角形"
3,4,5);
实验总结(结论或问题分析):
本次实验,主要是对接口、java.lang包中的基础类库和java.util包中的工具类库的使用,其中最难得就是使用Comparator<
对Person类进行排序,通过查阅资料了解了Comparator如何使用,受益匪浅。
实验成绩
任课教师签名