收藏 分销(赏)

java实验报告模板3-(1).doc

上传人:仙人****88 文档编号:11890776 上传时间:2025-08-18 格式:DOC 页数:4 大小:63.50KB 下载积分:10 金币
下载 相关 举报
java实验报告模板3-(1).doc_第1页
第1页 / 共4页
java实验报告模板3-(1).doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
《JAVA程序设计》课程实验报告 专 业: 网络工程 班 级: 1320552 学 号: 132055222 姓 名: 聂浩杰 日期: 2016 年 4 月 26 日 一、 实验题目 1. 类的继承与封装: 定义抽象类Shape(形状)其中有抽象方法用来求某形状的周长和面积;定义Shape类的子类Circle(圆形)、Triangle(三角形)、Rect(矩形)其中包括该形状的位置、大小信息并实现求其周长和面积的方法。 假设当前有圆心为(100,100)半径为60的圆,左上角坐标为(0,200),水平宽度为120,垂直高度为80的矩形,以及三个顶点坐标分别为(200,200)、(300,400)、(150,350)的三角形,请在控制台输出每个形状的相关信息,及所有形状的周长和面积的和。 2.接口的定义与实现: 通过接口和实现接口的类来完成上一题目。 二、 实验目的 1. 熟练掌握类、类的数据成员和成员方法的定义与实现; 2. 熟练掌握抽象类与类的继承的相关内容; 3. 熟练掌握接口与接口的实现的相关内容; 4. 熟练掌握public、private、static、final、abstract等修饰符的作用。 三、 实验内容 1. 复习有关Java中类、类的继承、接口、接口的实现的相关内容; 2. 根据题目要求编写需要的抽象类和其子类; 3. 根据题目要求编写相应的main方法完成程序; 4. 根据题目要求编写需要的接口和实现该接口的类; 5. 根据题目要求编写相应的main方法完成程序; 6. 调试代码,完善程序。 四、 实验步骤 1、 题目一 (1) 问题分析 首先应该建一个父类定义抽象类Shape,其中有抽象方法用来求某形状的周长和面积,然后定义Shape类的子类Circle(圆形)、Triangle(三角形)、Rect(矩形)其中包括该形状的位置、大小信息并实现求其周长和面积的方法。最后写一个测试类在里面建对象,调用各个子类方法,输出信息。 (2) 算法描述 父类Shape 抽象类方法area(),Perimeter( )。 子类Circle(圆形)、Triangle(三角形)、Rect(矩形) 里面具体写area(),Perimeter( )方法 测试类c5建立对象,调用子类里面的area(),Perimeter( )方法 用输出语句输出信息 (3) 主要代码及运行结果 抽象类Shape package test2; import java.awt.Graphics; public abstract class Shape { public int x,y; public int w, g; public Shape(int x, int y, int w, int g) { super(); this.x = x; this.y = y; this.w = w; this.g = g; } public abstract double area(); public abstract double zc(); } Square类 public class Square extends Shape { public Square(int x, int y, int w, int g) { super(x, y, w, g); // TODO 自动生成的构造函数存根 } public double area() { // TODO 自动生成的方法存根 return w*g; } public double zc() { // TODO 自动生成的方法存根 return 2*(w+g); } Ciecle类 public class Circle extends Shape { public double R; public Circle(int x, int y, int w, int g) { super(x, y, w, g); // TODO 自动生成的构造函数存根 R=(double)w/2.0; } public double area() { // TODO 自动生成的方法存根 return R*R*3.14; } public double zc() { // TODO 自动生成的方法存根 return 2*R*3.14 ; } } Triangle类 public class Triangle extends Shape { public double c; public Triangle(int x, int y, int w, int g) { super(x, y, w, g); // TODO 自动生成的构造函数存根 c=Math.sqrt(w*w+g*g); } public double area() { // TODO 自动生成的方法存根 return 0.5*w*g; } public double zc() { // TODO 自动生成的方法存根 return w+g+c; } } 测试类 import java.applet.Applet; import java.awt.Graphics; public class c5 extends Applet { Square Box=new Square(30,230,120,80); Triangle tri=new Triangle(5,50,8,4); Circle Oval=new Circle(5,90,120,120); public void paint(Graphics g) { g.drawRect(Box.x,Box.y,Box.w,Box.g); g.drawString("Box Area:"+Box.area(),40,330); g.drawString("Box Perimeter:"+Box.zc(),40,350); g.drawLine(200, 200, 300, 400); g.drawLine(200, 200, 150, 350); g.drawLine(300, 400, 150, 350); g.drawString("tri Area:"+tri.area(),80,400); g.drawString("tri Perimeter:"+tri.zc(),80,430); g.drawString("Oval Area:"+Oval.area(),20,60); g.drawString("Oval Perimeter:"+Oval.zc(),20,70); g.drawOval(Oval.x,Oval.y,Oval.w,Oval.g);       } } (4) 出现问题及解决方法 在建子类时忘了写父类抽象方法的具体实现类,导致出现错误。 解决方法:只要在子类中该出父类中抽象类方法的实现方法,就可以在测试类中调用实现功能。 2、 题目二 (1) 问题分析 和上一个问题差不多,只是子类的功能要用接口来实现。 (2) 算法描述 接口Shape 抽象类方法area(),Perimeter( )。 类Circle(圆形)、Triangle(三角形)、Rect(矩形) 里面具体实现接口area(),Perimeter( )方法 测试类c5建立对象,调用子类里面的area(),Perimeter( )方法 用输出语句输出信息 (3) 主要代码及运行结果 import java.applet.Applet;     import java.awt.Graphics;     interface Shapes //定义一个接口     {      abstract double Area( ); //自动被定义为public abstract      double tPerimeter( ); //自动被定义为public abstract     }   其他Circle(圆形)、Triangle(三角形)、Rect(矩形)只要在类中定义局部变量和方法(和上一个一样),就可以了。 测试类 public class C5_18 extends Applet   {    Square Box=new Square(5,15,25,25);    Triangle tri=new Triangle(5,50,8,4);    Circle Oval=new Circle(5,90,25,25); public void paint(Graphics g)      {       g.drawRect(Box.x,Box.y,Box.width,Box.height);       g.drawString(“Box Area:”+Box.getArea( ),50,35);      g.drawString(“Box Perimeter:”+Box.getPerimeter( ),50,55);      g.drawString(“tri Area:”+tri.getArea( ),50,75);      g.drawString(“tri Perimeter:”+tri.getPerimeter( ),50,95);      g.drawOval(Oval.x,Oval.y,Oval.width,Oval.height);      g.drawString(“oval Area:”+Oval.getArea( ),50,115);      }     } (4) 出现问题及解决方法 在定义接口时,忘记是抽象类,给出了方法,所以出错。 解决方法:只在接口中给出抽象方法,具体方法在类中给出。 五、 体会与总结 通过这两个小程序,我熟练掌握类、类的数据成员和成员方法的定义与实现,熟练掌握抽象类与类的继承的相关内容;熟练掌握接口与接口的实现的相关内容;熟练掌握public、private、static、final、abstract等修饰符的作用。 4
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服