android计算器设计文档.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告课程名称Android或JAVA综合实训实验名称电子计算器专业计算机科学与技术班级1002班学号201003010234姓名吴超指导教师陈华光2013年12月18日目录一.引言1二.需求分析11.状态定义12.计算器功能2三.总体设计51.软件设计结构图52.程序设计流程图6四.模板设计71.计算模块详细设计72.用户模型设计73.计算模板设计的实现84.计算器模板设计9五.计算器演示10六.小结13七.附录141一:引言目前手机可以说是普及率非常高的电子设备了,由于其便于携带,使用方便,资费适中等等原因,现在手机已经在一定程度开始代替固定电话的通话功能,以及一些原来电脑软件上的功能了。手机上的软件也随着手机的发展变得丰富起来了,时至今日已经出现了很多专门制作手机软件的公司,虽然制作的多是游戏软件,但是一些辅助性的工具软件也有了很多.我们在此次系统中所做的工作主要是设计整个系统以及利用编程语言实现整个系统,使系统能够正确的运行计算功能。二:需求分析(一)状态定义:能满足基本的数学运算。具体要求如下:1,刚启动计算器时的状态:开始计算按键开始键ON2.清零:计算刚启动时,或者任何时候键入了清零键,计算器所处的状态。2.一个操作数:输入了一个操作数时计算器所处的状态,如键入“2”后的状态,此时操作数为“2”,或者依次键入“3”、“8”后的状态,此时操作数为“38”。3.运算结果:键入了“=”键后计算器所处的状态,如依次键入“3+5=”之后计算器的状态。在此状态如果输入数字,输入的数字将作为第一个操作数,开始一次新的计算。4.一个操作数和一个两元符号:输入了一个操作数和加减乘除中的一个键后计算器的状态,如依次输入“2+”或“31×5=÷”之后计算器的状态。5.操作数两元符操作数:输入了一个操作数、一个加减乘除符号和另一个操作数后计算器所处的状态,如依次键入“30÷4”或“3+5=÷5”后计算器的状态。6.操作数两元符运算结果:输入了一个操作数、一个加减乘除符号和另一个操作数后紧接着键入开方键计算器所处的状态。7.错误:执行非法计算后所处的状态,如执行÷0计算或者对负数的开方计算后的状态。比如6/0后计算的结果是“0不能做除数”。2(二)本计算器具有以下功能:用表说明状态操作计算器响应结果状态清零键入数字键,如1显示键入的数字,操作数=键入的数字一个操作数键入减号键相当于键入了-0,但负号不显示,只显示0。一个操作数键入除减号键和数字键以外的键忽略键入的键,仍保留清零状态清零一个操作数键入数字键显示新操作数,新操作数=当前操作数*10+键入的数字一个操作数键入回退键显示新操作数,新操作数=当前操作数除以10取整一个操作数清屏键显示0,但操作数不变一个操作数键入清零(任何状态下,键入清零键都会到清零状态下,以下的状态不再重复)清零清零键入加减乘除中任意键仍显示操作数,跳转到状态“一个操作数和一个两元符号”一个操作数和一个两元符号键入开方键对操作数执行开方运算,显示运算结果运算结果键入=键显示操作数,如果操作数为负数,显示负号和操作数,如“-32”运算结果一个操作数键入%忽略,不做任何处理一个操作数和一个两元符号键入加减乘除之一用新操作符替换原操作符,如当前是“30+”,接着键入“÷”则变为“30÷”一个操作数和一个两元3和一个两元符号符号键入=如果操作符为加法,则加0,显示结果;如果操作符为减法,显示为负数;如果操作符为乘法,显示为第一个操作数相乘,如键入12*=,结果为144;如果键入为除法,结果为1。运算结果键入回退键第一个操作数回退一位,操作符保持不变,如:123+,键入回退键后显示12,操作符仍然为+一个操作数和一个两元符号键入开方键执行开方操作,操作符保持不变;例如:当前是“9+”,键入开方键则显示3。运算结果键入数字键、小数点键入的为第二个操作数,例如:当前是“9+”,键入8,显示为8操作数2元操作符操作数运算结果键入加减乘除中任意键结果作为一个操作数,例如:当前是“45”,键入*,显示仍然是45,操作符是*,将执行乘法。一个操作数和一个两元符号键入数字和小数点清除结果,键入的数值作为新的操作数;例如当前是“16开方”后的运算结果,显示是“4”;键入56,显示“56”。一个操作数键入%、=键显示结果。如:当前是“16+开方”后的运算结果,键入=,显示的结果为20。执行16+16开方的运算;当前显示的结果9,或者任意其它值,输入%,运算结果显示“0”。运算结果键入开方键运算结果再执行开方运算运算结果键入回退键结果回退一位,如当前显示“123”,键入回退键,显示“12”。运算结果操作键入加减乘除中任意键先执行前面的计算,显示结果并记下下一个操作符;例如:起始状态键入的是12*6,然一个操作数和一个两元4数2元操作符操作数后键入+,则显示72符号键入%例如输入:12+3%,结果0.36;12-3%,结果0.36;12*3%,结果0.36;12÷3%,结果0.36;一律按照乘法计算。运算结果键入=执行运算,得出结果。例如当前是键入了“1+2”,再键入“=”,显示“3”。运算结果键入数字键、回退键、小数点键等待键入第二个操作数完毕操作数2元操作符操作数开方键第二个操作数开方操作数2元操作符运算结果操作符为除号,第二个操作数为0;负数开方不正确的运算错误操作数2元操作符运算结果键入数字键、小数点键忽略开方步骤,直接进行操作数与键入数字进行操作符的运算。例如:4+9开方32结果为36;5-9开方65结果为-60。操作数2元操作符操作数键入=计算结果。例如:12+9开方=,先计算9开方=3,再12+3=15;12*64开方=,结果96。运算结果键入%例如输入:12+9开方,再键入%结果0.36;12-9开方,再键入%结果0.36;12*9开方,再键入%结果0.36;12÷9开方,再键入%结果0.36;一律按照乘法计算。运算结果键入加减乘除中任意键得到运算结果,并记忆操作符;例如12+9开方,键入+得到15+。一个操作数和一个两元符号键入开方、回退键运算结果再次执行开方或者回退操作数2元操作符运算5结果错误清零以外的任何键忽略,计算器不做任何响应错误清零键清零清零三:总体设计(一)软件设计结构图本计算器主要可以实现基本的加减乘运算和其他的一些运算。包括:加法运算,减法运算,乘法运算,除法运算。其他运算包括开方运算,*2运算,正负运算,清除运算等。计算器基本加减乘除运算其他运算加法减法乘法除法开方运算*2运算正负运算清除运算6(二)程序流程设计图是否否是运行程序后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。判断是否需要结算结果按用户要求进行计算在显示区显示结果开始判断是否是清零操作系统重置监听用户按键输入7四.模板设计1.计算模块详细设计系统要完成整个的计算器的计算功能,那么计算模块就是整个系统的重点模块。没有计算模块系统就不能顺利的完成计算,就无法达到用户的要求。所以计算模块的设计也是本次系统设计中的重点。系统想要能在屏幕上显示出计算器的样子要有整体的布局,在本模块中要完成布局的具体设计,使用户能够看到整个计算器的画面。同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要根据相应的方法进行进一步的处理。这部分主要是对输入进行的逻辑判断,基本会通过ifelse来实现逻辑判断。2.用户界面设计界面设计应该尽量简洁而美观,应该具有良好的交互性。当然,我们每个人可以根据自己的喜好来进行设计,根据我个人的喜好,我最终设计出来的计算器界面如图4-7所示:计算模块整体布局逻辑判断运算输入判断数值输入判断其他运算普通运算正负运算清零运算*2运算开方运算8从上图中,我们可以很直观的看到,从上到下分别是:显示模块、输入模块、计算模块。(1)输入模块,主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,具体的处理办法会在相关的地方进行说明。在本项目中,在触屏上提供了各种功能的按键,分别是C,0,1,2,3,4,5,6,7,8,9,+,-,×,÷,=,delete,clear,+/-,√x,x²。(2)显示模块,主要描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果和一些其她信息。3.计算模块设计的实现计算模块则主要描述了计算器的整体,实现了计算器的界面,定义了用户单击的处理办法,通过定义的处理办法来完成用户的操作命令,实现用户的计算要求,这些计算要求包括了数值的输入,小数点的输入,正负号的输入,记忆相关功能的完成,加、减、乘、除等各种计算功能的完成,运算符的替换,初始化系统等等。9计算器的特殊功能键列表5-1按键名称按键功能clear计算清零键,重新开始计算delete本次输入清零键,按下后可以重输入本次数据按键监听同时监听了触屏上的按键和键盘上的按键,其中按键的监听使用了的松开为判断的标准,即用户松开按键的时候程序才会读取数据。计算模块是整个系统的主体部分。4.计算器模板设计布局效果图:1011五.计算器演示6+3=?(进行运算时自动把结果转换成double型)6-2=?6*2=?126/2=?9的平方?16开方?13六.小结这次项目android计算器项目设计是在eclipse平台下设计,到现在为止,该系统的功能基本符合了普通计算器的要求,整个系统界面简单明了,使用起来十分方便,具有普通计算器的基本功能,同时拓展了一些普通计算器上没有的部分科学计算功能。在整个开发过程中,从需求分析到总体架构的构思,到最后代码的编写我投入了大量的时间和精力,对系统中的每个功能都进行了反复的调试,修改。因为这是我是第一次系统性的进行软件的开发,不论是在知识层面、开发平台的使用层面还是经验方面都有着很大的欠缺和不足,因此本软件难免会有一些功能不完善、界面不美观等一些不尽如人意的地方,但是再短短一个星期的时间内,我已经进行了很大的努力。通过这个android计算器项目设计,我不经巩固了我们在书本上学到和平时老师传授的知识,而且还学到了许多书本上学不到的知识,并运用了网络这个平台查询一些不明白的知识点。指导老师在我软件代码编写和后期软件调试期间,给我很大的帮助。要谢谢各位帮过我的老师和同学。这次的实验让我对我的学过的知识有了深一步的了解。14七.附录1:src\ymq\demo03目录packageymq.demo03;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.*;importandroid.widget.*;publicclassdemo03extendsActivity{/**Calledwhentheactivityisfirstcreated.*/Stringstr=皖西学院;EditTextet;intc=0,flag=0;doubleb=0.0,g=0.0,f=0.0;Viewvi;//计算方法publicdoublecalculater(){switch(c){case0:f=g;break;case1:f=b+g;break;case2:f=b-g;break;case3:f=b*g;break;case4:f=b/g;break;}b=f;c=0;15returnf;}publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);//获得按键finalButtonnumber[]=newButton[10];finalButtonfuhao[]=newButton

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功