JAVA实验报告Y.Daniel Liang第二次实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014-2015学年第一学期实验报告

课程名称:Java SE 平台技术

实验名称:JA VA编程(基础练习)姓名:

学号:

成绩:

指导教师:

日期:

目录

一、实验目的 (3)

二、实验内容 (3)

2.1 构建一个继承类。 (3)

2.2 抽象类和接口的使用 (3)

2.3 图像类编程和事件驱动程序。 (3)

三、实验环境 (3)

四、实验结果 (3)

4.1构建继承类 (3)

4.2抽象类和接口的使用 (3)

4.3 事件驱动程序 (3)

五、附录 (4)

5.2 设计方案 (4)

5.1构建继承类 (4)

5.2抽象类和接口的使用 (4)

5.3 事件驱动程序 (4)

5.2 设计方案 (4)

5.1构建继承类 (4)

5.2抽象类和接口的使用 (4)

5.3 事件驱动程序 (4)

5.3 算法 (4)

5.3.1 三角形继承类 (4)

5.3.2 抽象类与接口 (5)

5.3.3 画出小车 (5)

5.4. 设计图 (6)

5.4.1 三角形类UML设计图 (6)

5.4.2.1 Colorable接口UML设计图 (7)

5.4.2.2 CompareTo与Clone接口UML设计图 (8)

5.4.3 小车UML设计图 (9)

5.5 仿真结果 (9)

5.5.1构建继承类 (9)

5.5.2抽象类和接口的使用 (9)

5.5.3 事件驱动程序 (10)

5.6 调试心得 (10)

5.6.1 错误分析 (10)

5.6.2 心得与收获 (10)

一、实验目的

通过使用JA V A语言进行基本程序的开发,掌握JA V A通用IDE,练习类的封装使用、JA V A基本类库的使用、利用UML进行简单建模。

二、实验内容

2.1 构建一个继承类。

2.2 抽象类和接口的使用

2.3 图像类编程和事件驱动程序。

三、实验环境

Eclipse、Win 8.1

四、实验结果

4.1构建继承类

输出了三角形的三边长,面积,周长。

4.2抽象类和接口的使用

4.2.1执行Colorable接口,输出了一条how to color的信息

4.2.2执行Comparable 和Cloneable接口,输出了创建的五边形和克隆五边形的周

长和面机的信息。

4.3 事件驱动程序

输入不同的数值,四个小车的速度不一样。

五、附录

5.2 设计方案

5.1构建继承类

构建三角形类输出周长面积,只需要在该类中增加周长函数和面机函数。

5.2抽象类和接口的使用

4.2.1创建Square类执行Colorable接口覆盖howToColor函数。

4.2.2Comparable 和Cloneable接口本身就有,可以直接用,但是本程序自己覆盖

了一下。

5.3 事件驱动程序

改程序涉及到较为深入的GUI编程,小车的绘制,坐标的选择难度较大,但可以参考课后习题,根据比例计算坐标。

5.2 设计方案

5.1构建继承类

先写好基类,三角形类中定义好构造函数,周长和面积函数即可。

5.2抽象类和接口的使用

4.2.1执行Colorable接口覆盖howToColor函数,在主程序中创建五个Square测

试。

4.2.2覆盖了Comparable 和Cloneable接口,创建了一个八边型,另一个通过克隆

创建,用CompareTo比较两函数。

5.3 事件驱动程序

创建Car类存坐标,速度,MFrame类画出文本框,得到键盘读入信息,以及设定基本布局。

5.3 算法

5.3.1 三角形继承类

public double getArea(){

double m = (side1+side2+side3)/2;

double s = Math.sqrt(m*(m-side1) * (m-side2) * (m-side3) );

return s;

}

通过海伦公式得到面积函数。

5.3.2 抽象类与接口

public Object clone() {

try {

return super.clone();

} catch (CloneNotSupportedException e) {

return null;

}

}

public int compareTo(Object o) {

if (this.getArea() == ((Octagon)o).getArea() )

return 1;

else

return 0;

}

重载Colorable接口和clone接口。

5.3.3 画出小车

public void paintComponent(Graphics g) {

super.paintComponent(g);

int width = getWidth();

xCoordinate += speed;

if (xCoordinate > width)

xCoordinate = 0;// 如果超出宽度则从头开始

// 画小车

g.setColor(Color.BLACK); // 画轮子

g.fillOval(xCoordinate + 12, yCoordinate - 12, 12, 12);

g.fillOval(xCoordinate + 36, yCoordinate - 12, 12, 12);

g.setColor(Color.GREEN); // 画车身

g.fillRect(xCoordinate, yCoordinate - 24, 60, 12);

g.setColor(Color.RED); // 画车顶

int[] xPoints = new int[4];

int[] yPoints = { yCoordinate - 24, yCoordinate - 36,

yCoordinate - 36, yCoordinate - 24 };

for (int i = 1; i <= 4; i++)

xPoints[i - 1] = xCoordinate + i * 12;

g.fillPolygon(xPoints, yPoints, 4);

// 画线

g.setColor(Color.black);

g.drawLine(0, yCoordinate, width, yCoordinate);

}

相关文档
最新文档