我之前做的一个计算器,功能是电脑中的类型(当然我只做标准型的)。
那时我的做法感觉有点笨:判断用户按数字键时之前是否是0、是否已算出结果、是否表达式中有未使用的操作符等等,这些我都判断。用到的dotnet的方法不多,主要是append,但是今天我们的C#课程刚开始了,我班主任(一个女的)她说用split能实现,我觉得用split貌似会丢失好多功能,而且现在我还没想到怎么实现呢(如果用split)。
还有一个老师说的太过绝对了,他说以后他教我们的asp.net,做个计算器没有if语句。
我有点郁闷了。C#或什么语言,能不用if语句?我现在学asp快完了。貌似好像也没有那么··把,就是报异常parseint不成功,也是用到if吧。
那时我的做法感觉有点笨:判断用户按数字键时之前是否是0、是否已算出结果、是否表达式中有未使用的操作符等等,这些我都判断。用到的dotnet的方法不多,主要是append,但是今天我们的C#课程刚开始了,我班主任(一个女的)她说用split能实现,我觉得用split貌似会丢失好多功能,而且现在我还没想到怎么实现呢(如果用split)。
还有一个老师说的太过绝对了,他说以后他教我们的asp.net,做个计算器没有if语句。
我有点郁闷了。C#或什么语言,能不用if语句?我现在学asp快完了。貌似好像也没有那么··把,就是报异常parseint不成功,也是用到if吧。
哎,悲哀!
计算器和Split有什么关系?这最多只是在你特定的程序(不知道你怎么想的)用到的一个特定的技巧而已。
我让100个人写计算器,至少有70个人不会用到Split。(我不是说那30个人犯了什么错误)
用不用Split取决于你是不是有把一个字符串拆分成几个部分的需求,但是这个和你做计算器没有直接而且必然的关系。
好了,谢谢大家了。
表达式计算看这里:
http://bbs.csdn.net/topics/360188060具体底层的实现,最简单的,可以使用正则表达式解析和一个堆栈用来计算。