以前学习java的时候,也做过一个简易的计算器程序,代码是老师带着写的。
现在自己在android上也写一个计算器程序,算法部分自己动脑筋想的,对我这个新人来说可不简单。
花了不少时间,收获也不少。
主要分享下我做这个计算器算法的思路:
1.将功能相同的Botton分为一类,使用同一个点击事件。(可以使用Button数组,再通过for循环让数字中的每一个元素都使用同一个适配器)
数字:1~9,小数点。
符号:+ - * /
功能符号:C(清屏键),=(等于号键)
当然分得越细越好,但要是给每个按钮都写了不同的处理代码,肯定会有很多代码重复,阅读性很差。
2.功能实现
为了方便调试,先定义好C(清屏键的功能)。点击后TextView.setText("");//清屏
数字:点击对应数字按钮后,在TextView上显示。
TextView.setText(Button.getText().toString());设置TextView的内容为当前Button的内容。
即你点击“1”按钮,TextView上便显示1。击“2”按钮,TextView上便显示2。
可是我们要输入12呢?上面的设置会使当然输入的数字覆盖上一个数字。所以应该是如下代码:
TextView.setText(TextView.getText().toString()+Button.getText().toString());
设置前,先获取上一次TextView上的数字,再加上当前输入的数字。这里就可以使用C(清屏键)进行调试了。
符号:对之前输入的数字进行运算。
例如输入1+2=。你按“+”的时候,就能获取1+2的结果吗?问题是