CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

北京一家公司的题,谁看完谁哭~求高手~超级撒分

楼主changchunren520()2006-11-21 14:17:06 在 Java / J2SE / 基础类 提问

This   test   is   designed   to   test   your   skills,   and   style   in   the   Java   programming   language.   The   test    
  should   be   done   in   Java   5.   There   are   only   two   requirements   for   you   solution   to   this   test:   1.   it   must    
  work   as   described   2.   we   must   be   able   to   compile   it.   Since   this   test   is   designed   to   test   you   skills   and    
  knowledge   in   the   Java   programming   language,   make   sure   that   you   apply   good   coding   pratices   and    
  object   oriented   design   to   your   solution.   The   solution   must   be   sent   to   npiguet@cognosense.com.   The    
  result   file   must   contain   the   source   code   of   your   solution,   as   well   as   a   readme   file   explaining   how   to    
  run   it.   Include   the   detailed   steps   required   to   compile   your   solution   in   the   readme   file   (this   includes    
  the   javac   command,   the   libraries   to   import   etc...).  
  Good   Luck!  
  Problem   :   Calculator   application  
  Write   a   command   line   application   that   takes   a   mathematical   expression   as   input   and   prints    
  the   result   to   the   console.  
  The   mathematical   expression   should   be   read   from   a   file.   The   expression   can   use   integer    
  numbers   only   (but   the   result   can   be   a   floating   number),   and   the   only   supported   operators   are   +,   -,   *,    
  /.   The   expression   can   use   parentesis   "("   and   ")"   to   group   operations.   The   *   and   /   operators   have   the    
  priority   on   the   +   and   –   operators.  
  Sample   input   file:  
  2   +   3   *   (4+5)   –   4/5  
  Sample   console   output:  
  2   +   3   *   (4+5)   –   4/5   =   28.2  
  Typical   application   usage:  
  java   -jar   calc.jar   input.txt  
  The   exact   EBNF   grammar   for   the   acceptable   input   expressions   is   the   following  
  Expression   EBNF   grammar:  
  expression   =   term   (operator   expression)?  
  term   =   number   |   '('   expression   ')'  
  number   =   (('-')?   non_zero_number   (non_zero_number   |   '0')*)   |   '0'  
  non_zero_number   =   '1'   |   '2'   |   '3'   |   '4'   |   '5'   |   '6'   |   '7'   |   '8'   |   '9'  
  operator   =   '*'   |   '/'   |   '+'   |   '-'  
  Feel   free   to   transform   this   grammar   to   an   equivalent   one   if   you   feel   the   need   to.   If   you   do,    
  please   include   the   modified   grammar   in   your   classes'   documentation. 问题点数:100、回复次数:38Top

1 楼zuguanqun(小群)回复于 2006-11-21 14:21:57 得分 0

jf    
  见英语就头疼Top

2 楼jackxing(Jack)回复于 2006-11-21 14:25:30 得分 0

faint~Top

3 楼bitan()回复于 2006-11-21 14:25:38 得分 0

把算术表达式改成逆波兰式再进行计算就行了。  
  Top

4 楼zeyuphoenix()回复于 2006-11-21 14:25:59 得分 0

看到英文就死了!!!1Top

5 楼liufei8463(武汉小兵)回复于 2006-11-21 14:42:26 得分 0

就是喊你按他要求用EBNF语法   写个计算器撒Top

6 楼sg552(:))回复于 2006-11-21 14:43:58 得分 0

大概翻译了一下,本人译的不好,请楼下的朋友纠正:  
   
  本测试是为了测试您的编程技巧和风格,本测试应该在JAVA5下完成,您只须解决两个问题:  
  1。它必须能按要求运行  
  2。我们必须能编译它  
   
  因为本测试是为了测试您在JAVA语言领域的技巧和知识,请务必在答案中使用好的代码practices(不知道这个词如何意译,实践?请楼下补充)和面向对象设计。请将答案发送到   npiguet@cognosense.com     ,请附上您的程序源代码,以及一个readme文件,里面说明如何使用您的程序和编译程序的详细步骤(包括JAVAC命令,编译需要导入的包等等)。  
   
  祝好运!  
   
  题目:   计算应用。  
  输入一条数学表达式的命令,程序可以输出结果。该表达式可以从一个文件中读取,并且只能使用整数(但是结果可以使用浮点数),并且只支持下面几个运算符:+   -   *   /     可以使用小括号"(",")"来确定优先关系,*,   /运算优先于+   ,-   运算。  
   
  输入示例:  
  2   +   3   *   (4+5)   –   4/5  
  输出的结果示例:  
  2   +   3   *   (4+5)   –   4/5   =   28.2  
   
  典型的用法:  
  java   -jar   calc.jar   input.txt  
   
  输入文件中表达式的精确的EBNF文法是:(译注:扩展的巴科斯-诺尔范式   Extended   Backus-Naur   Form,EBNF   )  
  expression   =   term   (operator   expression)?  
  term   =   number   |   '('   expression   ')'  
  number   =   (('-')?   non_zero_number   (non_zero_number   |   '0')*)   |   '0'  
  non_zero_number   =   '1'   |   '2'   |   '3'   |   '4'   |   '5'   |   '6'   |   '7'   |   '8'   |   '9'  
  operator   =   '*'   |   '/'   |   '+'   |   '-'  
   
  需要的话您完全可以把上面的语法转换成等价的表达式,如果您做了转换,那么请在您的程序中附加转换后的语法。  
  Top

7 楼sxnucseven(*)回复于 2006-11-21 14:44:42 得分 0

控制台程序,计算器吗?  
  输入规则还给了个正则表达式?  
  我英语不好,Jf。Top

8 楼sxnucseven(*)回复于 2006-11-21 14:46:34 得分 0

译注:扩展的巴科斯-诺尔范式   Extended   Backus-Naur   Form,EBNF    
   
  ---------------------------------------------  
  不理解这个,还以为是个正则表达式呢。Top

9 楼sg552(:))回复于 2006-11-21 14:47:24 得分 0

按照我的理解,只要能根据一个输入的字符串,按照合适的方法解析,然后输出运算结果就可以了。建议楼主使用   StringTokenizer。很容易了。  
   
  上面E文原文中,废话多,而且还有若干语法错误。貌似里面的人对JAVA的理解也只是停留在C/S的时代。  
   
  什么公司啊,没事不建议楼主去了。考这么无聊的题Top

10 楼malligator(十步之内没有我的爱人)回复于 2006-11-21 14:48:10 得分 0

1、100分不够多呀!不能叫超级的:)  
   
  2、英文也不是很难呀。我这四级水平都能看懂了。  
   
  3、编程也不会让一个懂些编译原理的人晕的。只不过如果没有弄过的话会有些费事罢!码就没有了,楼主要工作就自己动手吧Top

11 楼sg552(:))回复于 2006-11-21 14:49:28 得分 0

大家也不用考虑那个EBNF了。  
  都是废话来的。出考题的人为了卖弄自己的知识罢了。  
   
  楼主按照小学的数学知识来弄就可以了。Top

12 楼malligator(十步之内没有我的爱人)回复于 2006-11-21 14:51:39 得分 0

sg552(:)“什么公司啊”  
   
  不是有邮箱么?:)Top

13 楼sxnucseven(*)回复于 2006-11-21 14:53:36 得分 0

数据结构上有原题,是讲   栈   的时候用的例子Top

14 楼sg552(:))回复于 2006-11-21 14:55:20 得分 0

哦,看了他的主页了。   不过没看懂!   -_-Top

15 楼iwlk(http://www.ChinaFedora.cn/ fedora论坛)回复于 2006-11-21 15:14:29 得分 0

看到英文就死了!!!1  
  Top

16 楼zhuixun5506(>> narsil)回复于 2006-11-21 15:37:39 得分 0

我看着也觉得不太难,西电出的那本java基础教程上有个很类似的例题,不过要求中要用到编译原理中的好多知识,哎,忘记的差不多了,  
   
  祝楼主好运!Top

17 楼ilovemilk(zhu)回复于 2006-11-21 15:37:42 得分 0

接分了,Top

18 楼hdhmail2000(禅剑飞雪)回复于 2006-11-21 15:46:04 得分 0

应该不是了。不过确实有点bt,需要去读取txt文件的,对于多数借助工具的,到这里就over了。  
  大家注意看这个:  
  java   -jar   calc.jar   input.txt  
  Top

19 楼hdhmail2000(禅剑飞雪)回复于 2006-11-21 15:46:51 得分 0

以后要多多加强手写代码了,呵呵Top

20 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-11-21 16:02:25 得分 0

接分先~~Top

21 楼gzpoplar(poplar)回复于 2006-11-21 16:11:42 得分 0

markTop

22 楼ccddtomato()回复于 2006-11-21 16:22:27 得分 0

看了真头疼     我是那种很有编程天赋的人     但是不认识字啊     痛苦Top

23 楼changchunren520()回复于 2006-11-21 16:25:48 得分 0

哭了...大家有没有能解决点的思路啊??写上点也行啊.要不下面的人没有头绪啊!   @_@大家谈论吧!Top

24 楼qwertxp(上车的乘客请做好下车准备)回复于 2006-11-21 16:32:15 得分 0

理解是理解了,ebnf是什么飞机!?Top

25 楼buyaowen(失业中,请勿打扰)回复于 2006-11-21 17:04:53 得分 0

那些EBNF找本编译原理看看就会了  
  其实就是读入数据做计算,用逆波兰表达式,这个赵数据结构  
  怎么感觉这个题是对应届毕业生的呢?Top

26 楼hdhmail2000(禅剑飞雪)回复于 2006-11-21 18:00:08 得分 0

确实是考逆波兰表达式和txt文件操作  
  几年前考程序员的时候学过了  
  忘了Top

27 楼freelyl(飞翔)回复于 2006-11-21 18:13:09 得分 0

出这个题招人的人是SB....Top

28 楼jicken_woo(黑夜里你留下的轮廓,指引我-------不寂寞---------------)回复于 2006-11-21 18:27:51 得分 0

语言和技术哪个重要?  
  都重要?  
  应该是.Top

29 楼For_suzhen(不懂装懂)回复于 2006-11-21 18:29:42 得分 0

顶你个肺阿Top

30 楼renmasheshou(狼狗)回复于 2006-11-21 18:46:14 得分 0

强!Top

31 楼skychuifeng(吹风)回复于 2006-11-21 18:55:38 得分 0

我英文不好,死了  
  jfTop

32 楼kaoloveting(甲克虫)回复于 2006-11-21 20:04:57 得分 0

我每次笔试,卷子都被收回去了,  
    害我想带出来研究都不行  
   
  你们是怎么可以弄出来的啊??????????????Top

33 楼zhangkunls(小憨)回复于 2006-11-21 20:09:05 得分 0

没哭Top

34 楼cl55(CL)回复于 2006-11-21 20:14:22 得分 0

问题不是老外写的,读起来很不舒服。Top

35 楼jxncjjg()回复于 2006-11-21 20:14:38 得分 0

本人以超低价格提供计算机方面的视频教程、电子书籍教程、程序源代码光盘刻录服务(DVD或CD)。有志于从事IT工作的朋友,需要以低成本购置学习资料的朋友可以与本人取得联系,并以最快的速度(快递)送到你的手中。所有的资料都是经过本人精心挑选过的经典教程,视频教程大部分都是国内IT知名专家、学者亲自讲解,绝对物超所值。  
  联系电话:13576145612(短信佳)贾先生  
  电子邮箱:ncncldjjg@126.com  
  QQ:108410943  
  最好手机短信联系。  
  =====计算机视频教程目录=====  
  1、Oracle9iOCP(Oracle认证专家DBA)视频教程   中国IT认证实验室高级讲师主讲   大小:25CD(重点推荐)  
  2、VC++6.0开发详解视频教程   孙鑫主讲   大小:6CD(重点推荐)  
  3、java语言详解视频教程   孙鑫主讲   大小:12CD(重点推荐)  
  4、java语言开发技术详解视频教程   张孝详主讲   大小:21CD(重点推荐)  
  5、C语言视频教程   某高校教授主讲   大小:5CD  
  6、C#与.NET视频教程   洪恩主讲   大小:1CD  
  7、SQL语言详解   某高校教授主讲   大小:1CD(重点推荐)  
  8、数据挖掘   某高校教授主讲   大小:2CD  
  9、SQL   Server2000视频教程   某高校教授主讲   大小:3CD(重点推荐)  
  10、UNIX系统视频教程   某高校教授主讲   大小:3CD(重点推荐)  
  11、MCSE(微软认证系统工程师)认证实录视频教程   北京科海讲师主讲   大小:11CD(重点推荐)  
  12、网页设计二剑客(flash、firework2000)   台湾IT讲师主讲   大小:2CD  
  13、PhotoShop7视频教程   国内知识专家主讲   大小:1CD(重点推荐)  
  14、AutoCAD2000视频教程   某企业专业讲师主讲   大小:3CD  
  15、3DMAX5视频教程   北京某3D工作室主讲   大小:8CD(重点推荐)  
  16、离散数学视频教程   大小:3CD  
  17、线性代数视频教程   大小:3CD  
  18、概率论与数理统计   大小:6CD  
  19、高等数学视频教程   大小:10CD  
  20、设计模式视频教程   国内知名C++、.NET专家主讲   大小:1CD(重点推荐)  
  21、BIOS设置视频教程   大小:1CD    
  22、互联网原理   某高校教授主讲   大小:1CD  
  23、清华大学网络多媒体教程(19门功课)   大小:13CD  
  23、VC++知识库(海量实用VC++技术文章)   大小:2CD(重点推荐)  
  24、加密与解密从入门到精通多媒体教程   大小:2CD(重点推荐)  
  =====程序源代码目录=====  
  1、某铁路大型信息管理系统源代码(PB8+Oracle8)(重点推荐)  
  2、ASP与ASP.NET实例源代码(超过300个实例,8CD)  
  3、商务之星(C#语言)  
  4、DOS6.0源代码  
  5、C# SharpDevelop源代码(C#开发语言)  
  6、电驴源代码(C++语言)  
  =====计算机书籍目录(高达4G容量)=====  
  一、<程序员杂志>  
  2004年程序员杂志  
  2005年程序员杂志  
  2004年CSDN开发高手  
  程序员超级开发宝典  
  二、3DMAX类  
  3DMAX7中文帮助文档  
  三、ASP与ASP.NET类  
  亲密接触ASP.NET全书  
  ASP.NET编程精彩百例  
  ASP.NET各式设计基础篇  
  ASP.NET高级编程  
  ASP.NET深入编程  
  四、C#、.NET类  
  C#完全手册  
  展现C  
  C#高级编程  
  C#设计模式  
  C#语言参考  
  Microsoft.NET框架程序设计(修订版)  
  Microsoft.NET框架程序设计中文版  
  Microsoft.Net_Framework  
  五、C、C++类  
  C++编程实例详解  
  C程序设计语言(新版)  
  C语言解析教程  
  C语言四本经典书籍  
  C程序设计语言  
  C和指针  
  C陷阱与缺陷  
  C专家编程  
  SDK路报  
  微软C编程精粹  
  C&C++电子杂志  
  C++STL程序员开发指南  
  嵌入式系统的C程序设计  
  纯C论坛电子杂志  
  C语言编程百例  
  高质量C++编程指南  
  C   Primer   Plus   4th   Edition  
  C   Primer   Plus   5th   Edition  
  The   C   programming   Language(英文)  
  经典C程序100例  
  六、Delphi类  
  Delphi6集成开发环境  
  Delphi7高效数据库程序设计  
  Delphi下深入Windows核心编程  
  Delphi_demo  
  Delphi5开发人员指南  
  delphi7视频教程  
  delphi串口通信编程  
  delphi高手突破  
  试题试卷生成系统实例源码  
  七、java类  
  java程序设计技巧1001例  
  java大全  
  java语言程序设计  
  java语言教程  
  java语言入门  
  java语言与其程序设计范例  
  跟我学javaScript编程  
  javaScript从入门到精通  
  javascript程序开发手册  
  javascript中文教程  
  八、Linux类  
  Linux内核完全注释  
  process_manage_linux  
  九、Oracle类  
  Oracle初学者指南  
  Oracle实用大全  
  Oracle数据库Web开发指南  
  轻松掌握Oracle8数据库开发  
  oracle8安装注意事项  
  十、PhotoShop类  
  PhotoShot7百例  
  PhotoShot7经典实例教程  
  PhotoShot7入门与提高  
  PhotoShot7自学手册  
  PhotoShot教程  
  PhotoShot照相馆的故事  
  PhotoShot5.5  
  3DMAX与Photoshop结合  
  十一、PowerBuilder类  
  pb8.0参考手册  
  pb及数据库文档资料  
  pb技巧  
  pb技术文档  
  pb实例  
  pb消息详解  
  pb运行库  
  pb相关源代码  
  pb中的MSCOM32_OCX串吕编程  
  十二、SQL   Server2000类  
  SQL   Server2000精华  
  SQL   Server2000编程员指南  
  SQL   Server2000开发指南  
  十三、SQL类  
  SQL21天自学通  
  十四、VB类  
  VB6控件参考手册  
  VB6程序员指南  
  VB6循序渐进教程  
  VB6语言参考手册  
  VB.NET面向对象的实现  
  Access_2003_VBA程序员参考书  
  VBA_hight  
  vba01  
  vbalang  
  vba_office  
  vb_net学习教程  
  word2000VBA一册通  
  十五、VC++与MFC类  
  MFC编程实例  
  深入浅出MFC简体中文版  
  VC++MFC简明教程  
  VC++6.0内幕(第四版)  
  VC++6.0内幕(第五版)  
  VC++从入门到精通  
  VC文献101  
  VC知识库  
  MS   VSUAL   C++   6   RUN-TIME   LIBRARY   REFERENCE   运行库手册  
  MS   VSUAL   C++   6   TEMPLATE   LIBRARIES   REFERENCE   模板库手册  
  MS   VSUAL   C++   6.0   LANGUAGE   REFERENCE`S   GUIDE   语言手册  
  MS   VSUAL   C++   6.0   MFC   LIBRARY   REFERENCE   类库参考手册   (1)  
  MS   VSUAL   C++   6.0   MFC   LIBRARY   REFERENCE   类库参考手册   (2)  
  MS   VSUAL   C++   6.0   PROGRAMMER`S   GUIDE   程序员指南  
  Visual   C++_Turbo   C串口通信编程实践  
  深入浅出   MFC_华中理   工_简体版  
  CSDN_vc2004    
  Visual   C++   6.0   数据库编程大全.pdf  
  Visual   C++   6.0   用户界面制作技术与应用实例.pdf  
  十六、Win32API类  
  APIhelp  
  api详解  
  win32apiFORvb  
  WindowsApi指南英文版  
  新编Windows_API_参考大全  
  新编WINDOWS之API  
  新编Windows   API参考大全  
  十七、Windows编程原理、程序设计方法类  
  com技术内幕  
  com技术纵横谈  
  windows2000SERVER中文教程  
  自己动手写操作系统  
  内核启动  
  操作系统引导  
  WINDOWS核心编程  
  Windows的SHELL  
  Win32多线程程序设计_侯捷  
  FAT32文件系统向导  
  匈牙利命名法规范  
  WINDOWS网络编程技术  
  microsof系统错误代码  
  windows2000+iis入侵图解教程  
  windows环境下32位汇编语言程序设计(罗云彬)随书源码  
  windows环境下的设备驱动程序设计  
  设备驱动程序开发大全  
  WINDOWS程序员使用指南(二)----MICROSOFT基本类库  
  WINDOWS程序员使用指南(三)----OLE_DD  
  WINDOWS程序员使用指南(四)----资源  
  WINDOWS程序员使用指南(五)----OBJECT   WINDOWS库  
  24小时学程序设计  
  win95开发手册_繁体版  
  Windows   Sockets   规范及应用网络编程接口  
  Windows   应用程序设计原理、方法、技术  
  windows(SDK)程序设计  
  Windows编程指南  
  WINDOWS核心编程  
  vc++高级程序设计  
  windows脚本技术  
  Windows深入剖析(初始化篇)  
  windows深入剖析内核篇  
  windows网络编程二版英文  
  win32API大全  
  windows程序设计第五版  
  windowsC#编程  
  vc++高级程序设计  
  windows脚本技术编程核心  
  windows网络编程技术1  
  十八、汇编语言类  
  ASM汇编  
  crack全集  
  win32汇编语言  
  www.aogosoft.com汇编  
  x86保护模式系列教程  
  汇编语言(罗云彬)  
  看雪学院  
  罗云彬的汇编教程  
  十九、计算机操作技术、技巧  
  ghost教程  
  Windows   XP   激活彻底攻略  
  Windows   XP   技巧汇集电子书   1.01  
  电脑报2002年合订本  
  电脑报十年珍藏版  
  电脑高手2002电子版(1-10)  
  电脑技巧3000  
  跟我学装电脑  
  光盘刻录60招  
  计算机故障速查手册  
  软件工程精萃  
  无盘工作站2000终端全攻略(CHM)  
  硬盘低级格式化全攻略  
  硬盘数据恢复入门教程   -   龙心阁   -   BlogBus_com.files  
  硬盘数据抢修实例分析  
  注册表实用手册  
  注册表实用手册   v2.7.3  
  注册表使用大全  
  DOS高手速成  
  Fdisk隐藏参数开关大全  
  菜鸟宝典---菜鸟不菜,只因看了菜鸟宝典  
  电脑应用文章精华  
  用Fdisk隐藏参数   解决硬盘分区问题  
  二十、其它类  
  Installshield简明教程  
  MICROSOFT   ODBC   3.0   程序员参考及SDK指南  
  PowerDesignerbook  
  UML建模核心技术  
  标准建模语言UML教程  
  软件工程精萃  
  数据仓库  
  新版高级程序员电子书籍(pdg版)  
  药店进销存经营流程描述  
  installshield教程  
  PowerDesigner数据库建模技术  
  vchome_datastruct  
  磁盘引导扇区解释  
  加密与解密(第二版)段钢  
  软件工程思想  
  软盘绝对扇区读写C源代码  
  系统引导过程分析  
  二十一、数据结构与算法类  
  C++编程金典(第3版)  
  C常用算法程序集  
  C高级参考手册  
  Javasjjg_2nd_xpbook_.com  
  递归论  
  计算机常用算法  
  计算机算法导论  
  计算机算法基础  
  计算机算法设计与分析_苏德富等  
  深入dos编程  
  数据结构习题集  
  数据结构与算法-面向对象的C++设计模式  
  算法设计与分析_王晓东  
  Windows系统文件中文详解  
  二十二、网络类  
  html语言  
  modem技术全集  
  MODEM技术文档  
  TCPIP技术大全  
  WINDOWS网络编程技术  
  winsock  
  防火墙技术指南  
  UDP穿透NAT的原理与实现  
  Top

36 楼marvelboy123()回复于 2006-11-21 22:33:13 得分 0

靠,这哪里是公司啊!Top

37 楼liang8305(换工作的时间到了...)回复于 2006-11-21 22:38:13 得分 0

主要是不懂那个什么波兰表达式罢了Top

38 楼YapEro([::q^-^p::])回复于 2006-11-22 09:15:11 得分 0

这是数据结构中讲堆栈时用的例子,找本数据结构基本都会有这个例子Top

相关问题

关键词

得分解答快速导航

  • 帖主:changchunren520

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo