关于programming:练习题-计算器-2

在上一题的根底上将计算器的外围逻辑提取进去,封装一个框架无关的计算器模块,并革新你的计算器利用。 限度你不能够应用 eval() 函数来执行计算你不能够应用 new Function('...') 函数来执行计算用例在上一题的根底上减少一些边界状况的解决: 用户能够看到显示屏显示以后输出的数字或最初一次操作的后果。用户能够看到一个蕴含数字 0-9、操作符 —— '+'、'-'、'*'、'/' 和 '=' 按钮的输入板,一个 'AC' 按钮(用于革除所有)。用户能够通过点击输入板上的数字来输出最多八位数的数字序列,任何超过8位的数字的输出都将被疏忽。用户能够点击 'AC' 按钮来革除所有的外部工作区域,并将显示值设为 0。初始值为 0,输出操作符则以 0 为操作数,否则按支出的数字作为操作数;最初输出等号后,将计算结果作为下一轮计算的初始值;以后操作数为 0 时,再反复输出 0 时须要疏忽,避免出现 00000123 这样的显示;临时不反对数字正负符号输出,所有操作符号都以最初输出为准;例如:当初是 3 + ,再输出减号变为 3 -如果上一次输出的是操作符,当初输出等号反对主动去掉多余的操作符再进行计算。脚手架class Calculator { // 接管计算器输出 press() {} /** * 计算以后输出的后果 * @return number */ compute() {} /** * 显示以后的输出值 * * @return string */ display() {}}const calculator = new Calculator()// 以下 press 入参只是范例,能够自行定义calculator.press('3').press('+').press('4').press('×').press(5)calculator.display() // 3 + 4 * 5calculator.compute() // 23ps:以上只是参考范例,大家能够自行封装扩大。后续会减少操作符和操作数的反对,有条件的能够思考如何封装可扩大的插件化的计算器模块,另外有趣味的能够尝试应用 TS 来编写。 ...

June 26, 2022 · 1 min · jiezi