欢迎来到天天文库
浏览记录
ID:18715514
大小:1.11 MB
页数:26页
时间:2018-09-20
《面向对象计算器设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件学院课程设计报告书-26--26-1设计时间2设计目的进一步掌握和理解Java程序编程进一步掌握Java语言的基本数据类型,熟悉定义变量和使用变量理解Java图形用户界面的基本工作原理和界面设计巩固窗体的布局的设计掌握窗口按钮控件和文本控件对事件的响应理解函数和方法的使用3设计任务设计一个图形界面的计算器应用程序,完成简单的算术运算、设计的计算器应用程序可以完成加、减、乘、除、取余、幂、对数、开平方运算,且有小数点、清零等功能。用鼠标单击相应的数字键和运算符号键,然后单击等号按钮,窗口上方的文本框将会显示计算出来的结果,要将文本编辑框清零,可单击清零按钮。4设计内容
2、4.1需求分析4.1.1程序所能达到的功能用户能够完成四则混合运算加减乘除,并且计算器能够自动的识别运算符的优先级,根据输入的运算公式,自动算出相应的结果,同时能够完成消除的功能。4.1.2输入的形式和输入值的范围输入形式输入值范围byte-128~127char0~65535float1.4E-45~3.4038335E38double4.9E-334~1.7975931348633157E-26-4.1.3输出的形式int;float;double;boolean4.1.4测试数据a.计算器的正确输入能够使其准确运算(如图)。b.错误处理需求:当用户如果按下的是除零
3、的操作,显示框显示“被除数不为0”;当用户如果多次按下运算符,计算器自动记忆第一次运算符,并且做防连续输入相同的运算符或者不同的运算符,当用户在同一个数据中多次输入小数点,运算器能够自动判断小数点重复,自动记忆第一个小数点,当用户在同一个数据中输入多个负号,计算器自动做重复检查,不显示多余的负号。-26-4.2总体设计4.2.1本程序中用到的所有数据类型的定义byte,short,int,long,float,double,char,boolean4.2.2主程序的流程4.2.3各程序模块之间的调用关系计算器各模块之间的调用关系:Computer首先通过extends继
4、承JFrame实现对计算器外观的建立,再通过implements实现监听接口ActionListener。用构造和重载等方式实现计算器的具体运算。-26-4.3详细设计4.3.1每个小模块的流程图a.计算器开方、幂、对数以及求余键设计流程图-26-b.计算器加减乘除设计流程图4.3.2关键代码分析与设计构造一个构造函数进行初始化doublenum1,num2,num3;-26-booleanend,add,mul,sub,div,pow,mod,sqrt,log;构建20个按钮对象JButtonb1=newJButton("1");JButtonb2=newJButto
5、n("2");JButtonb3=newJButton("3");JButtonb4=newJButton("+");JButtonb5=newJButton("xy");JButtonb6=newJButton("4");JButtonb7=newJButton("5");JButtonb8=newJButton("6");JButtonb9=newJButton("-");JButtonb10=newJButton("%");JButtonb11=newJButton("7");JButtonb12=newJButton("8");JButtonb13=newJBu
6、tton("9");JButtonb14=newJButton("*");JButtonb15=newJButton("√");JButtonb16=newJButton(".");JButtonb17=newJButton("0");JButtonb18=newJButton("=");JButtonb19=newJButton("/");JButtonb20=newJButton("log");JButtonclc=newJButton("clear");构建两个小面板对象p1andp2和p3JPanelp1=newJPanel();JPanelp2=newJPan
7、el();JPanelp3=newJPanel();publicComputer(){setTitle("计算器");setResizable(false);setBounds(150,150,330,330);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);BoderLayout布局,对文本框进行设计add(p1,"North");t.setEditable(false);设置宽度t.setColumns(20);设置文本位置t.setHorizontalAlignment(JTextFie
此文档下载收益归作者所有