- 23
- 0
- 约3.21千字
- 约 5页
- 2021-06-26 发布于山东
- 举报
大 庆 师 范 学 院
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();
此段注意除数
您可能关注的文档
最近下载
- 高质量数据集建设实施路径(34页 PPT).pptx VIP
- 2026年安全员C证考核考试试题(附答案).docx
- 2012年《全国统一安装工程预算定额河北省消耗量定额》解释.pdf
- 寒窑赋诵读讲解.pptx VIP
- 新疆2022系列标准设计图集新22S2 给水工程.pdf VIP
- 2026年江西工业贸易职业技术学院单招职业技能考试题库带答案解析.docx VIP
- 2026年江西工业贸易职业技术学院单招职业技能考试题库带答案详解(完整版).docx VIP
- 八下物理 7.1 力(教学课件).pptx
- 计算机视觉应用实战(OpenCV)高职全套教学课件.pptx
- 《学行为规范-做文明学生》主题班会课件.ppt VIP
原创力文档

文档评论(0)