据说这是华为2005年中心平台开发部的Java比武大赛中的必做题,当时难倒了不少人。你能够给出最佳答案吗?把你的代码帖出来,看看谁的算法最简单最高效。
要求:
/////////////////////input.txt样例////////////////////////////////
1+3/7*2=
4+2/*asjdff*/5-8=
5%2+5-2/*4=6/*i**ifdg***/*84o*/*1-2=
……………………………………… //更多表达式省略
/////////////////////////////////////////////////////////////////
/////////////////////output.txt样例////////////////////////////////
1+3/7*2=43
4+2/*asjdff*/*5-8=6
5%2+5-2/*4=6/*i**ifdg***/*84o*/*1-2=??
……………………………………… //更多表达式省略
/////////////////////////////////////////////////////////////
1. 要求用JAVA实现。
2. 若在命令行参数中指明了 input.txt 和 output.txt,请计算出input.txt中每一行表达式的值,并写入到output.txt文件中
3. 若在命令行参数中只指明了 input.txt,则新建一个output.txt,计算出input.txt中每一行表达式的值,并写入到output.txt文件中
4. 若在命令行参数中没有指明 input.txt 和 output.txt,则输入一个类似4+2/*asjdff*/*5-8这样的表达式,计算1000次这个表达式的值,在屏幕中输出结计算结果和所用时间。
5. 要求最多在180分钟内完成。