0
点赞
收藏
分享

微信扫一扫

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


回顾总体目标

计算器界面

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

回顾上一讲内容

我们已经绘制完了整个计算器的界面。

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

但是。。。

我们的界面是死的,用手触摸后,没有任何反应,完全不像一个可以使用的计算器。

那怎么办?

添加点击事件

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

进行最终的计算

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

计算的流程


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

算法实现过程

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


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

小结

整个计算器的实现逻辑框架,到这里就介绍完成了。

下一讲介绍具体的代码。



举报

相关推荐

0 条评论