• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android小项目:计算器

Android小项目:计算器

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android计算器项目,android studio计算器,android计算器源代码,android计算器,android计算器源码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android小项目:计算器


项目源码在文章最后。

 

这两天写了一个Android的计算器,现在整理一下思路与代码。

首先是功能需求分析:

1、数字我规定最长为九位,如果有小数点则加上小数点最长为十位

2、第二个参数输入时不允许为负数,但是先得出的结果为负数,可以再进行运算(比如:1-2=-1,结果显示的是-1,可以再运算,-1+2=1)

3、得出的结果如果大于等于10位,则把数据进行科学计数

4、科学计数的数据不能再进行运算,再按按钮会直接显示0或者当前按下的数字

5、进行连续运算时,会先计算先一个运算的结果,在把结果作为第一个参数进行下次运算(比如:1+2+3,当按下第二个加号的时候,会显示3+,先把前一个运算的结果算出来再进行下一个运算)

6、当除数为0时,显示 error

7、默认情况下,显示 0

8、是否进行运算过,判断是否按下过等于号,如果按下,显示了结果,再按数字则直接显示当前数字而不是在结果后添加这个数字

 

接下来是正式开始编写代码:

1、界面布局 (TableLayout 实现按钮排版 ,EditText 显示表达式或值)

2、初始化所有控件,以及为需要点击事件的控件绑定监听器

3、编写监听器事件逻辑代码

①当按下的是数字,先判断是否计算过

是(按下过等号):把显示的文本改为当前按下的数字,计算过的标志设为false

否(没按过等号):进行下一步判断,计算过的标志设为false

判断当前文本是否有科学计数

是(有科学计数的标志 e ):文本置为 0

判断文本是否只有一个 0

是(当前文本为 0):文本置为空

判断是否有运算符

是(包含运算符):取出运算符后的第二个参数,进行下一步判断

判断最后一个是否是运算符

是(文本最后一个是运算符号):则直接添加按下的数字

否(文本最后一个不是运算符号):进行下一步判断

判断第二个参数的长度,包括小数点则可以为10位,不包括小数点只能为9位

否(不包含运算符):判断第一个参数(即整个文本)的长度,包括小数点则可以为10位,不包括小数点只能为9位

 

②当按下的是小数点,先判断是否计算过

是(按下过等号):把文本改为 0. (数字 0 的后面有一个小数点),把计算过的标志位设为 false

否(没按过等号):进行下一步判断,,把计算过的标志位设为 false

判断是否有运算符

是(包含运算符):取出第二个参数,判断长度是否超过,是:无操作,否:判断参数中是否已经有小数点,有:无操作,否,添加小数点

否(不包含运算符):判断第一个参数(即整个文本)的长度是否超过,是:无操作,否:判断参数中是否已经有小数点,有:无操作,否,添加小数点

 

③当按下的是特殊键(归零、回退、百分比)

归零:直接把文本改为 0

回退:判断文本是否是 error,是:文本改为 0,否:判断文本的长度,当文本的长度大于0时且不等于1时,文本删掉最后一个字符,文本长度为1时,文本改为 0

百分比:判断文本是否是 error,是:无操作,否:判断是否是表达式,是:无操作,否:数字除百

 

④当按下的是运算符,判断当前的文本是否是科学计数

是(文本是科学计数,包含 e):文本置 0

否(文本不是科学计数,不包含 e):判断文本是否是表达式,且第二个参数不为空

是(是表达式,有两个参数):先得出结果,如果结果不是 error,添加上相应的运算符,如果结果是 error,无操作

否(不是表达式,可能是数字,也可能是数字后面带一个运算符):如果计算过的标志位为 true,改为 false,如果最后一个字符为其他运算符,则改为当前按下的运算符,如果最后一个不是当前按下的运算符,则添加改运算符

 

⑤当按下的是等号,判断当前文本是否是表达式

是:判断包含的是哪种运算符,取出两个参数,如果第二个参数为空,则无操作,如果第二个参数不为空,则进行相应的计算,再把运算结果进行格式化,然后用正则表达式去掉多余的 0 。如果结果的长度大于10位,则把数字转换成科学计数

 

布局代码如下(activity_main.xml):

 




    

    

        
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android小项目:计算器

相关文章

  • 2017-05-26Android5.0开发范例大全 读书笔记(四),android5.0范例
  • 2017-05-26Android 检查手机网络是否可用,android手机
  • 2017-05-26Android属性动画
  • 2017-05-26安卓自定义view(简单折线图),安卓自定义view折线
  • 2017-05-26cocos的Director、Scence、Layer(一)---摘自于官方文档,cocosscence
  • 2017-05-26项目总结手机号+短信验证码登录,手机号验证码
  • 2017-07-23WKWebView与js交互之完美解决方案
  • 2017-05-26android studio下百度地图sdk的初体验
  • 2017-05-26如何通过cmdline获取panel型号的dtsi文件节点(qcom,lcd,id)
  • 2017-05-228.1.3 Android中的13种Drawable小结 Part 3

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android:Activity启动模式之singleTop
    • Android SDK 与API版本对应关系,androidsdk
    • 单例模式——实战应用详解,单例实战详解
    • Android开发文档翻译之-Services
    • 跨进程SharedPreferences异常。,sharedpreferences
    • arcgis andriod 加载影像,arcgisandriod
    • android am命令以及hotkey文件的编写,
    • 可展开的列表组件——ExpandableListView深入解析,expandablelist展开
    • View控件中android:drawablePadding不起作用的原因探究,
    • andriod Spinner,andriodspinner

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有