黑马程序员技术交流社区
标题:
华为笔试题求解
[打印本页]
作者:
帆~
时间:
2014-7-3 23:35
标题:
华为笔试题求解
一道华为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次这个表达式的值,在屏幕中输出结计算结果和所用时间。
作者:
cat73
时间:
2014-7-4 12:37
/*4=6/*i**ifdg***/*84o*/
难道这一段是一个整体的注释?
作者:
沐小北
时间:
2014-7-4 12:48
pre:
建立一个表达式优先级线性表,如+-/%*()等
建立一个源数组
建立一个结果数组
1 IO操作将每一行读入数组,
1.1 使用正则替换注释。
1.2 逐个把此行的每个操作符(数)压栈。
1.3 压栈优先级相等时计算,并将结果存入结果数组
2 IO操作建文件。
2.1将源数组的每一行+结果每一行写入文件的每一行
作者:
晴天_SH
时间:
2014-7-4 12:50
我的思路是:定义一个数据栈,栈中存储的是各个计算符号的运算的优先级,每次运算的时候按照优先级运算就可以啦,记得不错的话我以前用C语言写过,这样的程序
作者:
sk120110
时间:
2014-7-4 13:08
自己技术差,还看不懂
作者:
790324255a
时间:
2014-7-4 14:28
最讨厌这种题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2