基于安卓开发的计算器课程设计报告.docVIP

  • 23
  • 0
  • 约3.21千字
  • 约 5页
  • 2021-06-26 发布于山东
  • 举报

基于安卓开发的计算器课程设计报告.doc

大 庆 师 范 学 院 ANDROID应用设计》 课程设计报告题目:简易计算器 专业班级: 计算机科学与技术一班 设 计 者: \\\\\\\\\\\\\\\\\\\\\\\\\\\\ 指导老师: P ’ P’ P’ P’ 设计时间: 2016-2017 ( 1) 报告完成日期 2016 年 12月 30日 设计任务及要求 设计一款基于 Android 系统下的计算器, 实现一般计算器可以进行的加减乘除算法, 以及清零操作。本人学习 Android 有近半年的时间。由于不同的 Android 手机有着不同 的分辨率,将不同分辨率的图标图片放置在相应位置。 Drawable-hdpi 中放置分辨率最高 的图标, drawable--ldpi 中放置分辨率中等的图标, drawable-mdpi 中放置在分辨率最 低的图标。界面设计应该就尽量简洁而美观,应该具有良好的交互性。在整个过程中, 首先应该对输入进行容错处理,这样有利于提高用户体验。对于用户的按键输入,需要 及时的现实在第一个 EditView 中。用户在输入过程中,肯定会存在一定的错误,程序设 计过程中需要对应用程序进行容错处理。容错设计比如:在输入过程中小数的话只能有 一个小数点,操作符不能连续输入,整数数据的开头不能出现 0 等等。在程序设计过程 中,需要设计数据结构来存储数字、操作符和容错标记,在本文中使用了栈,对这些数 据进行了存储。 设计原理及总体框图 将表达式转为字符串类进行存储。 将表达式的字符串进行处理,将数字和运算符分别存放在两个栈中(也可以使 用队列,理论上使用队列更为合理,在这我使用栈来实现) 。 由于栈是后进先出的,所以先将两个栈进行逆序。 设计方法来处理两个栈从而得到相应的计算结果。 原理:将操作符设计优先级,乘除优先级设置为  2,加减优先级设置为  1。 一、从操作符栈中弹出两个操作符,假设为 symbol1 和 symbol2,比较两个操作付 的优先级,如果 symbol1 的优先级大于等于 symbol2 的则执行二,否则执行三。 二、从数字栈中弹出两个数字,计算这两个数字在操作符 symbol1 下的运算结果,结束后将结果压入数字栈,将 symbol2 压入操作符栈,最后返回一。 三、从数字栈中弹出三个数字,计算后两个数字在操作符 结束后将运算结果压入栈,将剩下的第一个数字压入栈,将操作符  symbol2 下的运算结果, symbol1 压入站,最 后返回一。 结构框图如下所示: 图 1:简易计算器整体结构框图 小组分工:组长: ukuk 责程序算法查找及编写,仿真环境调试及运行; 组员: ukuk 负责定义按键代码及其他代码查找,编写; uk 负责材料汇总、文档报告编写、及相关书籍资料查询。 详细设计 部分源代码: private Button bt_1 ; private Button bt_2 ; private Button bt_3 ; private Button bt_4 ; private Button bt_5 ; private Button bt_6 ; private Button bt_7 ; private Button bt_8 ; private Button bt_9 ; private Button bt_0 ; private Button bt_add ; private Button bt_sub ; / 设计按键的大小 ( new OnClickListener() ( new OnClickListener() ( new OnClickListener() ( new OnClickListener() ( new OnClickListener() ( new OnClickListener() ( new OnClickListener() ( new OnClickListener() 计算器执行各项运算功能语句(小数点,加减乘除,清零 ... ) ( new OnClickListener() { @Override public void onClick(View v) { str_oper if (!() == {  = +; )) num1 += ()); str_display  = new StringBuffer(  ); } if (!( str_result == null )) { num1 = ( str_result str_result = null ;  ); } ( num1)); flag = true ; } }); 计算器进行加法运算的子程序代码如上 , 除数不能为 0! , .show(); 此段注意除数

文档评论(0)

1亿VIP精品文档

相关文档