您当前的位置: 首页 > 

蓝不蓝编程

暂无认证

  • 0浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

开发一个安卓App-计算器-计算实现框架

蓝不蓝编程 发布时间:2021-10-09 22:39:35 ,浏览量:0

回顾总体目标

计算器界面

回顾上一讲内容

我们已经绘制完了整个计算器的界面。 但是。。。 我们的界面是死的,用手触摸后,没有任何反应,完全不像一个可以使用的计算器。 那怎么办?

添加点击事件

我们需要给每个按钮添加点击事件,让按钮能感应到我们手指的触摸,并给与适当的反馈。

进行最终的计算

除了触摸反馈,我们最终还是需要一个程序来完成计算的过程,这样才能实现一个计算器的功能。

计算的流程
  1. 收集所有按下的按钮的值,得到一个字符串。 如我们按下过12+34=,那我们最终收集到的字符串就是“12+34=”。
  2. 处理字符串 这是本计算器应用的核心所在。当我们思考程序如何处理的时候,其实我们先应该思考人是如何处理的。当我们看到黑板上写着“12+34=”时,我们是怎么思考的呢? 首先,我们看到12这个数,然后看到加号,再看到34,最后看到等号。 那为什么我们没有把加号算作前面数字12的一部分呢? 因为,加号不是数字,是一个符号,所以我们自然就不会把他当做12的一部分。同样,当我们看到等号的时候,就知道前面34就是最终完整的数字了。
算法实现过程

为了得到最终的计算结果,我们可以这样做。每次用户输入一个数字或符号后,我们就进行判断。

  • 如果是“C“,表明用户要清除计算结果,清空界面上显示的结果即可。
  • 如果是“加减乘除”,我们则需要判断,前一个字符是否是数字,如果是则为合法输入,允许输入进来,否则直接丢弃。
  • 如果是“.”,则要判断,前一个字符是否是数字,而且前面数字中不包含“.”,满足才是合法输入。
  • 如果是“=”,就进行计算。计算过程:先把字符串进行拆分,如“12+34=”拆分为:12,+,34,=,然后把符号前后的两个数按照符号进行计算得到结果,显示在界面上。
  • 如果是数字,则当做合法输入。(实际上这里面还有非法的输入场景,为了降低难度,就先简化处理了。)
小结

整个计算器的实现逻辑框架,到这里就介绍完成了。 下一讲介绍具体的代码。

关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.0437s