1、 1 面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 题 目: 专 业: 班 级: 学 号: 姓 名: 指导老师: 时 间: 2 一、课程设计题目及所涉及知识点 设计题目是“计算器应用程序” 所涉及的知识点主要是: 1、java 的抽象与封装:private、public、protected 之类的访问属性控制符; 2、图形用户界面:java 中的 awt 包(Panel、Frame 类),swing 包(JFrame、 Jpanel 类) 以及各种组件的使用即 按钮 JButton、 布局管理器 (BorderLayout、 GridLayout 等) 、标签 JLabel、JT
2、extField 等; 3、java 机制:鼠标事件的处理,窗口事件的处理; 4、 类的继承与接口的实现: 类的继承 (extends 关键字) , 接口的实现 (implements 关键字) 。 二、课程设计思路 1、设计的计算器是基于 AWT 、SWING 组;其功能就是可以完成加法、减法、乘 法、除法简单运算以及其他复杂运算 例如:求平方、立方、平方根、对数、正 弦、余弦、正切,余数等。 2、此程序由 2 个面板组成,第一个面板放置输入信息和运算结果的显示文本域, 第二个面板放置按钮组建,例如数字键 1、2、3、4 等,利用布局管理器的嵌套 完成各组件的分布。 3、分两个部分来来具体实
3、现该计算器即 Jisuan.java 实现具体的界面布局 及运算功能、CalculatorFrame.java 为主函数部分,实现具体的面板显示及大 小设计,对计算机进行初始化。 三、课程设计中遇到的难点及解决办法 难点:1、如何实现清零功能 2、数学函数功能的实现 3 解决方法: 1、分析代码的运行过程,设计出几种解决方式,然后进行实践,多次 试验后解决了该问题。 2、在 JDK 中寻找实现此数学函数的代码。 四、总结 程序设计中,发现了自己有很多不足的地方,更加深了我对事件监听各方 方法的实现功能,布局管理的应用和 GUI 各组建的使用的认识。更加认识到要 努力自己解决问题,无论是通过书籍
4、还是网络资料,自己动手实践,这样更能 加深印象,加强记忆,也能认识到自己的不足,促使自己不得不去提高自在此 次己的编程水平,每一次的实践都是对自己的能力的检测,都是一次宝贵的经 验,也是强迫自己学习的一种有效方式。 五、附录主要源程序代码及运行结果 import java.awt.import java.awt.* *; ; import jaimport javax.swing.JTextField;vax.swing.JTextField; public class Calculator extends Frame public class Calculator extends Frame
5、 GridLayout g1,g2,g3;GridLayout g1,g2,g3; Panel p0,p1,p2,p3;Panel p0,p1,p2,p3; JTextField f1;TextField f2;JTextField f1;TextField f2; Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10, b11,b12,b13,b14,b15,b16,b17,b18,b11,b12,b13,b14,b15,b16,b17,b18, b19,b20,b21,b22,b2
6、3,b24,b25b19,b20,b21,b22,b23,b24,b25,b26;,b26; StringBuffer s;StringBuffer s; double x,y;int z;static double m;double x,y;int z;static double m; public Calculator()public Calculator() g1=new GridLayout(1,4,10,0);g1=new GridLayout(1,4,10,0); g2=new GridLayout(4,1,0,15);g2=new GridLayout(4,1,0,15); g3=new GridLayout(4,5,10,15);g3=new GridLayout(4,5,10,15); f1=new JT