运算符本身添加的时候是以String类型的,添加到文本框以后要让电脑识别为运算符,该怎么做?
两种思路:
解析字符串。在每个运算数与运算符之间加一个空格,例如“1 + 89.5”,然后使用空格分割字符串,判断每个元素的值,如果是*或/,就让此符号前后的数字做运算,如果是+或-,就继续检查下一个运算符,如果下一个运算符是*或/则优先算乘除,后算加减。
捕捉用户操作记录。把前台显示的内容与后台计算的逻辑独立开,用户每操作一步,就做一个记录。模拟计算机的栈原理,记录操作数,记录运算符,直到用户触发“=”事件,依次从栈中取出运算数和运算符,逻辑与上面的1相同,只不过不用解析字符串了。