资源描述:
《面向对象程序设计课程设计——计算器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象程序设计课程设计报告题目:专业:班级:学号:姓名:指导老师:时间:8一、课程设计题目及所涉及知识点设计题目是“计算器应用程序”所涉及的知识点主要是:1、java的抽象与封装:private、public、protected之类的访问属性控制符;2、图形用户界面:java中的awt包(Panel、Frame类),swing包(JFrame、Jpanel类)以及各种组件的使用即按钮JButton、布局管理器(BorderLayout、GridLayout等)、标签JLabel、JTextFie
2、ld等;3、java机制:鼠标事件的处理,窗口事件的处理;4、类的继承与接口的实现:类的继承(extends关键字),接口的实现(implements关键字)。二、课程设计思路1、设计的计算器是基于AWT、SWING组;其功能就是可以完成加法、减法、乘法、除法简单运算以及其他复杂运算例如:求平方、立方、平方根、对数、正弦、余弦、正切,余数等。2、此程序由2个面板组成,第一个面板放置输入信息和运算结果的显示文本域,第二个面板放置按钮组建,例如数字键1、2、3、4等,利用布局管理器的嵌套完成各组件的分
3、布。3、分两个部分来来具体实现该计算器即Jisuan.java实现具体的界面布局及运算功能、CalculatorFrame.java为主函数部分,实现具体的面板显示及大小设计,对计算机进行初始化。三、课程设计中遇到的难点及解决办法难点:1、如何实现清零功能2、数学函数功能的实现8解决方法:1、分析代码的运行过程,设计出几种解决方式,然后进行实践,多次试验后解决了该问题。2、在JDK中寻找实现此数学函数的代码。四、总结程序设计中,发现了自己有很多不足的地方,更加深了我对事件监听各方方法的实现功能,布
4、局管理的应用和GUI各组建的使用的认识。更加认识到要努力自己解决问题,无论是通过书籍还是网络资料,自己动手实践,这样更能加深印象,加强记忆,也能认识到自己的不足,促使自己不得不去提高自在此次己的编程水平,每一次的实践都是对自己的能力的检测,都是一次宝贵的经验,也是强迫自己学习的一种有效方式。五、附录—主要源程序代码及运行结果importjava.awt.*;importjavax.swing.JTextField;publicclassCalculatorextendsFrame{GridLayo
5、utg1,g2,g3;Panelp0,p1,p2,p3;JTextFieldf1;TextFieldf2;Buttonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26;StringBuffers;doublex,y;intz;staticdoublem;publicCalculator(){g1=newGridLayout(1,4,10,0);g2=ne
6、wGridLayout(4,1,0,15);g3=newGridLayout(4,5,10,15);f1=newJTextField(27);f1.setHorizontalAlignment(JTextField.RIGHT);f1.setForeground(Color.BLACK);f1.setFont(newFont("宋体",Font.BOLD,19));f1.setText("0");f1.setEditable(false);f2=newTextField(10);8f2.setFo
7、reground(Color.RED);f2.setEnabled(false);b0=newButton("Backspace");b0.setForeground(Color.RED);b0.addActionListener(newBt());b1=newButton("CE");b1.setForeground(Color.RED);b1.addActionListener(newBt());b2=newButton("C");b2.setForeground(Color.RED);b2.
8、addActionListener(newBt());b3=newButton("sin");b3.setForeground(Color.RED);b3.addActionListener(newBt());b4=newButton("cos");b4.setForeground(Color.RED);b4.addActionListener(newBt());b5=newButton("tan");b5.setForeground(Color.RED);b5.addAction