【android计算器---思路以及计算器功能梳理(未完成)】亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述android计算器---思路以及计算器功能梳理(未完成)相关的知识,希望能为你提供帮助。
数字键(1-9)、0键、正负转换、小数点、平方开方取倒数、CE、C、退格、加减乘除、等于
数字键(1-9):
- 按下后屏幕上的字符串多加一个数字字符
- 如果是按下运算符后第一个数字,则先将屏幕清空,再同上
判断:前面有没有按过运算符,如果按过,前面是否按过其他数字
0键:
- 按下零键,只要屏幕上不是零,就会在字符串后面加一个零字符
- 当屏幕上只有一个0时,无论怎么按都是一个零
判断:屏幕上的是不是零
小数点:
- 如果前面是个零,按下小数点,再按运算符,屏幕上显示零(按运算符同事时,将该数冗余部分去掉,与等号一样)
- 按下后在字符串后面加一个小数点字符
- 如果前面已经有小数点,后面不能再输入小数点,直到按下运算符或等号或CE或退格删掉了小数点开始输入下一个数
判断:前面是否按过小数点,按下运算符后,小数点状态应该回到可以按的状态
正负转换:
- 如果是一个数字加一个小数点,按正负转换后,小数点不消失
- 如果屏幕上只有零,按此键无变化
- 如果屏幕上除了另还有别的并且没有负号,按此键在该字符串前面加负号
判断:按下后只要不是只有零,全部都直接加减负号即可,无需对第一条单独考虑,因此判断屏幕上是否是零;屏幕第一个字符是否是负号
平方:
- 按下后会对前面的那个数字进行平方运算
- 当前面已经有另一个加减乘除,按下后对前面的数字进行平方运算后显示平方结果,再按下等于,才显示总结果
- 当按下一个数字和一个加减乘除,再按下此键,显示第一个数字的平方结果,再按等于,显示总结果
开方:
1.按下后会对前面的那个数字进行开方运算
2.当前面已经有另一个加减乘除,按下后对前面的数字进行开方运算后显示开方结果,再按下等于,才显示总结果
3.当按下一个数字和一个加减乘除,再按下此键,显示第一个数字的开方结果,再按等于,显示总结果
取倒数:
1.按下后会对最近输入的那个数字进行取倒数运算
2.当前面已经有另一个加减乘除,按下后对前面的数字进行取倒数运算后显示取倒数结果,再按下等于,才显示总结果
3.当按下一个数字和一个加减乘除,再按下此键,显示第一个数字的取倒数结果,再按等于,显示总结果
CE:
- 按下后会对最近输入的的数清零
C:按下后全部归零,全部回到初始状态
无需判断
退格:按下后会删掉屏幕上字符串的最后一个字符
无需判断
加减乘除:
- 按下后,会记录一个运算,屏幕上的第一个数不变,若直接按运算符,则第一个数默认零
- 若前面已经有一次运算并且按了等于,则再按运算符时,将上次运算结果作为第一个数字,屏幕上显示的仍是第一次运算结果
- 若前面有一次运算但没有按等于,则再按运算符时,屏幕上显示第一次运算结果,并将其作为下一次运算的第一个数字
等于:
- 若前面有数字和运算符按过,按下后,将屏幕上的数字作为第二个数进行运算,显示运算结果,如果继续按等于,则第二个数始终作为第二个数,进行该运算
- 如果按了一个数或数和小数点,按等于变成原数,并且如果最后一个字符是零或者小数点,会全去掉(循环)
- 按下等于号后,再按数字键,开始新一次运算
推荐阅读
- Android模拟器访问本机服务器
- Android常见的三种内部类
- Android之网络摄像头
- [zhuan]Android 异常处理(java.lang.IllegalArgumentException(...contains a path separator))
- 用Kotlin开发Android的Hello Kotlin!!
- Android Notification和权限机制探讨
- 在 Python 中使用 Chatterbot 构建聊天机器人
- Python情感分析教程和高级指南
- Python数据类型转换教程详细指南