服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

一道华为java比武大赛试题,你能解答吗?

 

  据说这是华为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分钟内完成。

扫描关注微信公众号