1、java程序设计报告程序设计课程设计报告设计题目: 计算器模拟程序 专业班级: 信管 学 号: 姓 名: 指导教师: 郭春燕 时间:2011.06.13-2011.06.24摘要 计算器模拟程序课程项目是在JAVA学习过程一项要的内容,它涵盖了对JAVA内容学习的考察,同时通过实验项目,也加强了学生的动手能力。进一步加深对Java语言的理解和掌握,把自己所学的理论知识运用到实际应用中去。 计算器模拟程序是一个小的计算算程序,包括日常我们用到的一些计算方法。主要研究的是加法、减法、乘法、出发、三角函数、阶乘、以及次方等。采用的是JAVA语言进行编写,引用JAVA自带数据库中swt包与math包中
2、的一些构造类与函数类,然后自己构造板块和模型,从而完成自己的程序设计项目。目录一、课题概述 31、课题任务 32、课题目的 33、课题要求 4二、设计思路及采取的方案 41、总体设计思想 42、实验方案 4三、实验结果 16四、总结体会 161、遇到的难题 162、一些应用中的技巧 173、心得体会与收获 17一、课题概述1、课题任务自主设计与编写一个计算机模拟程序,实现一个简单的计算器程序,能够进行简单的数据运算。(1) 通过实践,进一步对JAVA程序语言的熟练;(2) 自主的设计,加强了学生的设计与动脑的过程;(3) 编写java源程序;(4) 完成程序设计课程设计报告;2、课题目的1、复
3、习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;3、培养学生在项目开发中创新意识及能力;4、通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧,熟练运用各部分知识。3、课题要求 课程设计必须自己独立完成,严禁抄袭他人; 界面模拟Windows中的计算器程序。实现基本数学运算、函数等功能:加、减、乘、除、阶乘、正弦、余弦和指数运算;(3) 实现要点:添加相关组件并进行按钮事件处理;(4) 界
4、面要求:用图形界面实现。简单界面可参考图1。图1二、设计思路及采取的方案1、总体设计思想(1) 在设计计算器之前构造好计算器的版块与模型;(2) 通过Calculator构造方法,设计好窗口的框架(面板,按钮,背景颜色,大小, 并把相应的按钮添加监视器);(3) 编写主函数,创建计算器对象;(4) 编写加减乘除,三角函数,阶乘,次方等计算方法。2、实验方案import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.lang.Math.*;public class Calculator extends Fr
5、ame implements ActionListener String label=1,2,3,+,sin,CE,4,5,6,-,cos,-,7,8,9,*,yx,1/x,0,+/-,.,/,n!,=; Button button; Panel p1; JTextField text1; StringBuffer str=new StringBuffer(); int a,b=0; double x=0,y=0; boolean append = false; public Calculator() /旆? text1=new JTextField(0.,20); text1.setHori
6、zontalAlignment(JTextField.RIGHT); text1.setEditable(false); button=new Buttonlabel.length; p1=new Panel(); p1.setLayout(new GridLayout(4,6,1,1);/校校式 for(int i=0;ibutton.length;i+) buttoni=new Button(labeli);/驯签诎钮 buttoni.setForeground(Color.blue);/钮色 buttoni.addActionListener(this);/每钮蛹 p1.add(butt
7、oni);/钮拥签 Frame frame=new Frame(熊氏计算器); / 默贸杀呓绮? frame.setLayout(new BorderLayout(); frame.add(BorderLayout.NORTH,text1); frame.add(BorderLayout.CENTER,p1); frame.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent eve)System.exit(0););/录 frame.setSize(350, 250); frame.setLoca
8、tion(200,200); frame.setVisible(true); public static void main(String args) Calculator xiong = new Calculator(); public void actionPerformed(ActionEvent e) String s=e.getActionCommand();/硕氐址 if(s.equals(+)/鍔犳硶 str.setLength(0); if(b=0) a= b = 1; y= 0; text1.setText(+x); else b = a; a = 1; switch(b)
9、case 1: x+= y; text1.setText(+x); break; case 2: x -= y; text1.setText(+x); break; case 3: x *= y; text1.setText(+x); break; case 4: x /= y; text1.setText(+x); break; else if(s.equals(-)/鍑忔硶 str.setLength(0); if(b=0) a=b=2; text1.setText(+x); else b =a; a =2; switch(b) case 1: x=x+y; text1.setText(+
10、x); break; case 2: x=x-y; text1.setText(+x); break; case 3: x=x*y; text1.setText(+x); break; case 4: x=x/y; text1.setText(+x); break; else if(s.equals(*)/涔樻硶 str.setLength(0); if(b=0) a=b=3; text1.setText(+x); else b=a; a =3; switch(b) case 1: x=x+y; text1.setText(+x); break; case 2: x=x-y; text1.se
11、tText(+x); break; case 3: x=x*y; text1.setText(+x); break; case 4: x=x/y; text1.setText(+x); break; else if(s.equals(/)/闄硶 str.setLength(0); if(b=0) a=b=4; text1.setText(+x); else b=a; a =4; switch(b) case 1: x=x+y; text1.setText(+x); break; case 2: x=x-y; text1.setText(+x); break; case 3: x=x*y; te
12、xt1.setText(+x); break; case 4: x=x/y; text1.setText(+x); break; else if(s.equals(.) /灏忔暟鐐? append=true; if(text1.getText().trim().indexOf(.)!=-1); else if(text1.getText().trim().equals(0) str.setLength(0); text1.setText(str.append(0+s).toString(); else text1.setText(str.append(s).toString(); else i
13、f(s.equals(0)/鎸夐敭0 if(text1.getText().trim().equals(0.) else text1.setText(str.append(s).toString(); y=Double.parseDouble(text1.getText().trim(); else if(s.equals(sin)/姝鸡 String temp = text1.getText().trim(); double dtemp = Double.parseDouble(temp); text1.setText(+Math.sin(dtemp); else if(s.equals(cos)/浣欏鸡 String temp = text1.getText().trim(); double dtemp = Double.parseDouble(temp); text1.s
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1