首页 > 代码库 > android计算器---思路以及计算器功能梳理(未完成)

android计算器---思路以及计算器功能梳理(未完成)

数字键(1-9)、0键、正负转换、小数点、平方开方取倒数、CE、C、退格、加减乘除、等于

 

数字键(1-9):

  1. 按下后屏幕上的字符串多加一个数字字符
  2. 如果是按下运算符后第一个数字,则先将屏幕清空,再同上

 

判断:前面有没有按过运算符,如果按过,前面是否按过其他数字

0键:

  1. 按下零键,只要屏幕上不是零,就会在字符串后面加一个零字符
  2. 当屏幕上只有一个0时,无论怎么按都是一个零

 

判断:屏幕上的是不是零

小数点:

  1. 如果前面是个零,按下小数点,再按运算符,屏幕上显示零(按运算符同事时,将该数冗余部分去掉,与等号一样)
  2. 按下后在字符串后面加一个小数点字符
  3. 如果前面已经有小数点,后面不能再输入小数点,直到按下运算符或等号或CE或退格删掉了小数点开始输入下一个数

 

判断:前面是否按过小数点,按下运算符后,小数点状态应该回到可以按的状态

正负转换:

  1. 如果是一个数字加一个小数点,按正负转换后,小数点不消失
  2. 如果屏幕上只有零,按此键无变化
  3. 如果屏幕上除了另还有别的并且没有负号,按此键在该字符串前面加负号

如果屏幕上有负号,就把负号去掉

 

判断:按下后只要不是只有零,全部都直接加减负号即可,无需对第一条单独考虑,因此判断屏幕上是否是零;屏幕第一个字符是否是负号

平方:

  1. 按下后会对前面的那个数字进行平方运算
  2. 当前面已经有另一个加减乘除,按下后对前面的数字进行平方运算后显示平方结果,再按下等于,才显示总结果
  3. 当按下一个数字和一个加减乘除,再按下此键,显示第一个数字的平方结果,再按等于,显示总结果

判断:

开方:

1.按下后会对前面的那个数字进行开方运算

2.当前面已经有另一个加减乘除,按下后对前面的数字进行开方运算后显示开方结果,再按下等于,才显示总结果

3.当按下一个数字和一个加减乘除,再按下此键,显示第一个数字的开方结果,再按等于,显示总结果

 

取倒数:

1.按下后会对最近输入的那个数字进行取倒数运算

2.当前面已经有另一个加减乘除,按下后对前面的数字进行取倒数运算后显示取倒数结果,再按下等于,才显示总结果

3.当按下一个数字和一个加减乘除,再按下此键,显示第一个数字的取倒数结果,再按等于,显示总结果

 

CE:

  1. 按下后会对最近输入的的数清零

无需判断

C:按下后全部归零,全部回到初始状态

无需判断

 

退格:按下后会删掉屏幕上字符串的最后一个字符

无需判断

 

加减乘除:

  1. 按下后,会记录一个运算,屏幕上的第一个数不变,若直接按运算符,则第一个数默认零
  2. 若前面已经有一次运算并且按了等于,则再按运算符时,将上次运算结果作为第一个数字,屏幕上显示的仍是第一次运算结果
  3. 若前面有一次运算但没有按等于,则再按运算符时,屏幕上显示第一次运算结果,并将其作为下一次运算的第一个数字

判断:1.需要judge记录运算方式;2.

 

等于:

  1. 若前面有数字和运算符按过,按下后,将屏幕上的数字作为第二个数进行运算,显示运算结果,如果继续按等于,则第二个数始终作为第二个数,进行该运算
  2. 如果按了一个数或数和小数点,按等于变成原数,并且如果最后一个字符是零或者小数点,会全去掉(循环)
  3. 按下等于号后,再按数字键,开始新一次运算

android计算器---思路以及计算器功能梳理(未完成)