《基于-安卓开发计算器课程设计报告38611.pdf》由会员分享,可在线阅读,更多相关《基于-安卓开发计算器课程设计报告38611.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-师学院 ANDROID 应用设计 课程设计报告 题目:简易计算器 专业班级:计算机科学与技术一班 设 计 者:指导教师:PPPP 设计时间:2021-20211 报告完成日期 2021 年 12 月 30 日 1 设计任务及要求 设计一款基于 Android 系统下的计算器,实现一般计算器可以进展的加减乘除算法,以及清零操作。本人学习 Android 有近半年的时间。由于不同的Android 手机有着不同的分辨率,将不同分辨率的图标图片放置在相应位置。Drawable-hdpi中放置分辨率最高的图标,drawable-ldpi中放置分辨率中等的图标,drawable-mdpi 中放置在分辨率
2、最低的图标。界面设计应该就尽量简洁而美观,应该具有良好的交互性。在整个过程中,首先应该对输入进展容错处-理,这样有利于提高用户体验。对于用户的按键输入,需要及时的现实在第一个EditView 中。用户在输入过程中,肯定会存在一定的错误,程序设计过程中需要对应用程序进展容错处理。容错设计比方:在输入过程中小数的话只能有一个小数点,操作符不能连续输入,整数数据的开头不能出现 0 等等。在程序设计过程中,需要设计数据构造来存储数字、操作符和容错标记,在本文中使用了栈,对这些数据进展了存储。2 设计原理及总体框图 将表达式转为字符串类进展存储。将表达式的字符串进展处理,将数字和运算符分别存放在两个栈中
3、 也可以使 用队列,理论上使用队列更为合理,在这我使用栈来实现。由于栈是后进先出的,所以先将两个栈进展逆序。设计方法来处理两个栈从而得到相应的计算结果。原理:将操作符设计优先级,乘除优先级设置为 2,加减优先级设置为 1。一、从操作符栈中弹出两个操作符,假设为 symbol1 和 symbol2,比拟两个操作付的优先级,如果 symbol1 的优先级大于等于 symbol2 的则执行二,否则执行三。二、从数字栈中弹出两个数字,计算这两个数字在操作符 symbol1 下的运算结果,完毕后将结果压入数字栈,将 symbol2 压入操作符栈,最后返回一。三、从数字栈中弹出三个数字,计算后两个数字在操
4、作符 symbol2 下的运算结果,完毕后将运算结果压入栈,将剩下的第一个数字压入栈,将操作符-symbol1 压入站,最后返回一。构造框图如下所示:图 1:简易计算器整体构造框图 小组分工:组长:ukuk 责程序算法查找及编写,仿真环境调试及运行;组员:ukuk 负责定义按键代码及其他代码查找,编写;uk 负责材料汇总、文档报告编写、及相关书籍资料查询。3 详细设计 局部源代码:private Button bt_1;private Button bt_2;private Button bt_3;private Button bt_4;private Button bt_5;private
5、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;/减 private Button bt_multiply;/乘 private Button bt_divide;/除 private Button bt_back;private Button bt_equal;/等于 private Button bt_point;/点 private Button bt_clear;/
6、去除 private EditTe*t et_play;/显示 private String str_oper=+;/运算符 private StringBuffer str_display=new StringBuffer();/显示 private String str_result;/结果显示 privatedoublenum1;privatedoublenum2;privatebooleanflag=true;/小数点个数开关控制;privatebooleanb_sub,b_mul,b_div;/运算符开关控制-此段代码为相关按键定义包括加减乘除,等于号,小数点,clear去除以及数字
7、键。说明:每完成一次计算后,需先clear 去除记忆,当然也可以连算。设计按键的大小 bt_point.setOnClickListener(new OnClickListener()bt_back.setOnClickListener(new OnClickListener()bt_add.setOnClickListener(new OnClickListener()bt_sub.setOnClickListener(new OnClickListener()bt_multiply.setOnClickListener(new OnClickListener()bt_divide.setO
8、nClickListener(new OnClickListener()bt_clear.setOnClickListener(new OnClickListener()bt_equal.setOnClickListener(new OnClickListener()计算器执行各项运算功能语句小数点,加减乘除,清零.bt_add.setOnClickListener(new OnClickListener()Override publicvoid onClick(View v)str_oper=+;if(!(str_display.toString()=)num1+=Double.parseD
9、ouble(str_display.toString();str_display=new StringBuffer();if(!(str_result=null)num1=Double.parseDouble(str_result);str_result=null;et_play.setTe*t(String.valueOf(num1);flag=true;);计算器进展加法运算的子程序代码如上-Toast.makeTe*t(Android_calculatorActivity.this,除数不能为0!,Toast.LENGTH_LONG).show();此段注意除数不能为0!Toast.ma
10、keTe*t(CalculaterActivity.this,被乘数或乘数不能为空!,Toast.LENGTH_SHORT).show();4 测试与分析 测试过程:安装相关软件,JDK 安装配置 安装 Java 的 JDK 至默认路径 D:Program FilesJava,一般需要300M的空间,硬盘空间充足的话,所有组件全部安装。然后完成环境变量的配置。配置 Eclipse开发环境,设置代码字体大小,调整为 12或 14,显示行号,代码格式化,改变一行能容纳的最大字符数,设置智能提示,运行eclipse.e*e 完成路径设置后,选择菜单 HelpInstall New Software.
11、图 2:Install 工作界面 配置 SDK 路径:1安装 java 开发的 JDK 到本机,配置好环境变量,具体操作见前文步骤 1-6。2解压 Android SDK 和 Eclipse,配置 Eclipse 的 SDK 路径。系统默认的是在线安装新的 SDK 组件,我们不可能在没有网络连接的情形下升级应用组件!所以选取 Use e*isting SDKs,然后点击下一步完成经一部的配置。完成配置到 Windows 里找到 Android SDK Manager 运行,检测是否-可以正常启动。图 3:配置完成的 Eclipse 总结:需要先安装 JDK 后配置环境变了,然后完成 SDK 的
12、解压,解压有ADT 的 Eclipse,最后在 Eclipse 里重新配置 SDK 路径。就可以使用了。至此 Android 开发环境就根本搭建完成了。总体看来其操作也与有网络环境操作雷同,需要先安装 JDK 后配置环境变了,然后完成 SDK 的解压,解压有 ADT 的 Eclipse,最后在 Eclipse 里重新配置 SDK 路径就可以使用了。测试情况如下列图:图 4:简易计算器的代码编译及运行 图 5:eclipse 环境下运行程序计算器界面 接下来演示实际算法:7+9如图 6、7、8 图 6 图 7 图 8 在实现此过程中,输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,当用户点击按键或者屏幕的时候监听器会去调用相应功能的按键,分别是清零,0,1,2,3,4,5,6,7,8,9,+,-,*,/,.=,返回。显示模块主要描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息。整体上大致分为这两个模块,其中存在的缺乏,我们日后会努力改良,进一步提升计算器的性能,使其功能更加完整,丰富!5 参考文献-1 郭克华.JavaME 移动开发实例精讲.:清华大学,2021.1 2 新力.J2ME 实用教程.:人民邮电,2007.10 3 更新,宾晟,海轮.Java ME 手机应用开发大全.:科学,2021.6