我想说的是,如果是一个控制台的计算器,用VS+C#,再利用一些现成的库什么的,一分钟写个四则混合的计算器并不是什么难事儿,更不是不可能的事情。
没错,我刚就写了一个。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace CalcTest { class Program { static void Main( string[] args ) { Console.Write( "input a expression:" ); var expression = Console.ReadLine(); if ( Regex.IsMatch( expression, @"(d+)([+-*/]d+)*" ) == false ) Console.WriteLine( "invalid expression" ); Console.WriteLine( "{0}={1}", expression, new SimpleExpressionEvaluator.ExpressionEvaluator().Evaluate( expression ) ); } } }
为了解析运算表达式,我在NuGet搜索expression evaluator,结果就找到了一个符合要求的组件:
NuGet Gallery找到这个组件大概花了我三分钟左右,而写这段代码,的确不到一分钟,一次编译通过,没有考虑计算溢出,四则混合运算妥妥的。
一分钟写个计算器没有什么好炫耀的,一分钟写不出来的,倒是要好好思考一下,到底是什么阻碍了你?
当然了,提问者说的那个人,肯定是树(tree)新(new)蜂(bee)来的,我只是说一下一分钟也不是写不出来。
最后,没错,我就是来安利VS+C#的,,,,
===========================丧病的分隔线===========================
永远不要怀疑程序员的创造力。
群里的小伙伴们又提供了一个脑(sang)洞(xin)大(bing)开(kuang)的方案,可以在一分钟内做一个带界面的,还有各种高级功能的计算器出来:
顺便说一下,我又真的在一分钟内做出来了: