Android项目计算器.docx

上传人:叶*** 文档编号:89027305 上传时间:2023-05-05 格式:DOCX 页数:24 大小:1.62MB
返回 下载 相关 举报
Android项目计算器.docx_第1页
第1页 / 共24页
Android项目计算器.docx_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《Android项目计算器.docx》由会员分享,可在线阅读,更多相关《Android项目计算器.docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学校代码: 10128学 号: 课程设计说明书题 目: 移动版计算器学生姓名: 学 院: 信息工程学院班 级: 计12-1班指导教师: 庄旭菲 2015 年 7 月 目录第一章 总体功能介绍11.1功能介绍11.2软件设计11.2.1系统软件的结构图11.2.2功能的操作流程11.2.3计算器模块1第二章 各功能模块的具体实现32.1系统主界面32.2基本加减乘除界面92.3其他运算界面12第三章 调试及运算结果163.1加法运算结果163.2减法运算结果163.3乘法运算结果173.4除法运算结果173.5带括号运算结果173.6复合运算结果17第四章 总结18 摘要:Android是当今最

2、重要的手机开发的平台之一,它是建立在Java基础上的,能够迅速建立手机软件的解决方案。Android的功能十分强大。成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、用户界面和应用软件组成,具有以下特点:开放性、应用程序无界限、应用程序是在平等条件下创建的、应用程序可以轻松的嵌入网络、应用程序可以并行运行。 第一章 总体功能介绍1.1功能介绍计算器软件的系统功能介绍:(1) 实现简单的要实现基本的加、减、乘、除四则运算。 (2) 可以实现在前一步计算结果上继续作加、减、乘、除,即连加、减、乘、 除。(3) 有清空功能,即清除所有数据,重新开始计算。(4) 拥有后退按

3、键,可以实现清除单个错误数据。(5) 可以实现复合运算。1.2软件设计1.2.1系统软件的结构图1.2.2功能的操作流程 首先用户根据自己的实际需要选择计算,得出程序结果,输入数据,选择运算符号,再输入数据,选择等号,即可以得出结果。1.2.3计算器模块图1-1 MyOntouchListener 类图图1-2 Utils类图图1-3 MainActivity类图程序中的类图如图1-1,1-2,1-3所示。Utils中主要包含了两个方法。分别是逆波兰式的生成以及计算结果的输出。这两个方法为utiNi()以及calculate()图1-1中的类是MainActivity中的子类MainActiv

4、ity中包含了按钮的点击事件以及触摸设置背景颜色,按钮字体颜色等功能。第二章 各功能模块的具体实现2.1系统主界面 本界面是用来线性布局与网格布局,控件有文本框与按钮 2.2基本加减乘除界面用户在文本框中输入参加运算的数据,并且点击要进行的运算符号,点击等号之后,会显示出计算结果。点击清除按钮,可以将文本框的内容以及显示的结果一起清空,用户可以输入新的数据按钮计算。复合运算中的表达式先生成中缀表达式,然后转换为逆波兰式。求逆波兰式的流程图如下:图1-4 逆波兰式生成的流程图代码实现:public static String utiNi(String str)boolean b = Patter

5、n.matches(|*/.).+()|-+*/.), str);if (b)String srcStr = str;String desStr = ;boolean errorFlag = true, isIncreaceFlag = false;char stack = new char100;int postion = 0, top = 0;while (postion 0& srcStr.charAt(postion - 1) != ()if(postion=2)&(str.charAt(0)=();else if(postion=1)&(str.charAt(0)=+|str.cha

6、rAt(0)=-);else desStr += ,;desStr += temch;isIncreaceFlag = true;postion+;while (top != 0)if (stacktop = ()errorFlag = false;break;elsedesStr += ,;desStr += stacktop;top-;if (errorFlag = true)return desStr;return null;2.3其他运算界面可以实现的是切换界面风格。括号的实现以及清除和后退: else if (.equals(opera) if (firstNumber.equals

7、() ed_out.setText(根号内不Null);firstNumber = ;SecondNumber = ;numberString = ;text = ;ed_in.setText(); else result = Math.sqrt(Double.parseDouble(firstNumber);ed_out.setText( + firstNumber + = + String.valueOf(result);ed_in.setText(); else if (.equals(opera) if (firstNumber.equals() ed_out.setText(底数不N

8、ull);firstNumber = ;SecondNumber = ;numberString = ;text = ;ed_in.setText(); else if (SecondNumber.equals() ed_out.setText(指数不Null);firstNumber = ;SecondNumber = ;numberString = ;text = ;ed_in.setText(); else result = exponentFun(Double.parseDouble(firstNumber),Double.parseDouble(SecondNumber);ed_ou

9、t.setText(firstNumber + + SecondNumber + = + String.valueOf(result);ed_in.setText(); else if (.equals(opera) if (firstNumber.equals() firstNumber = ;SecondNumber = ;numberString = ;text = ;ed_in.setText(); else result = factorialFun(Double.parseDouble(firstNumber); else if (.equals(text) opera = ;fi

10、rstNumber = numberString;numberString = ;ed_in.setText(numberString);ed_out.setText( + firstNumber); else if (.equals(text) opera = ;firstNumber = numberString;numberString = ;ed_in.setText(numberString);ed_out.setText(firstNumber + ); else if (.equals(text) opera = ;firstNumber = numberString;numbe

11、rString = ;ed_in.setText(numberString);ed_out.setText(firstNumber + );sound(); else if (c.equals(text) opera = ;firstNumber = ;SecondNumber = ;numberString = ;text = ;ed_in.setText();ed_out.setText(); else if (.equals(text) if (!numberString.equals() numberString = String.copyValueOf(numberString.toCharArray(), 0,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁