日期:2014-05-18  浏览次数:20727 次

小弟有一个java试题不会做,请各位大侠帮帮忙,多谢
在javascript视频的第七讲的第一个片断,也就是网站上提供的免费片断《正则表达式的应用》中,讲到了将一个保存有ip地址与地区对照关系的文本文件导入到数据库时,应该将其中的某些空格替换成逗号(,),即对于如下格式的文本文件内容:  
起始IP   结束IP   地区  
---------------------------  
61.54.231.245   61.54.231.245   河南省安阳市   新世纪网吧  
61.54.231.246   61.54.231.246   河南省安阳市   未知地区  
61.54.231.9   61.54.231.247   河南省安阳市   红日网吧  
61.54.231.248   61.54.231.248   河南省安阳市   安阳师范学院  
61.54.231.249   61.54.231.249   河南省安阳市   黑蜘蛛网吧(师范学院附近)  
应转换成下面的这种格式:  
61.54.231.245,61.54.231.245,河南省安阳市   新世纪网吧  
61.54.231.246,61.54.231.246,河南省安阳市   未知地区  
61.54.231.247,61.54.231.247,河南省安阳市   红日网吧  
61.54.231.248,61.54.231.248,河南省安阳市   安阳师范学院  
61.54.231.249,61.54.231.249,河南省安阳市   黑蜘蛛网吧(师范学院附近)  

在视频教程中,讲解了使用UltraEdit的正则表达式替换功能来完成上面的转换。从jdk1.4开始,Java语言中提供用于处理正则表达式的相关API类和方法,在jdk帮助文档中,查看String类的replaceAll方法,可以看到该方法就支持类似UltraEdit的正则表达式替换功能。  
任务:阅读String.replaceAll方法的帮助,以及它提供的相关超链接,了解该方法的用法后,编写一个Java程序来自动实现上面的正则表达式替换,将a.txt(下载)替换后的结果保存到b.txt文件中。另外,我们在实现IT315网站的ip地区查询系统时,使用的是类似如下的sql语法:  
select   地区   from   ip表   where   用户ip> 起始IP   and   用户ip <结束ip  
通过这条sql语句就可以查询出用户ip所对应的地区结果。由于用户ip与起始ip和结束ip的比较属于字符串比较,如果用户ip为9.1.1.1,那么它与61.54.231.245比较的结果就是前者大于后者,因为用户ip的第一个字符“9”大于61.54.231.245中的第一个字符“6”。  
现在请你想出一种解决办法,让上面的sql语句能够返回正确结果。提示:将9.1.1.1变化成009.001.001.001后与061.054.231.245进行比较就可以了。  
请按这种思路在你的程序中增加进行这种改变的正则表达式替换。注意,起始IP和结束IP的四个字段都有可能是1位、2位或3位数字,例如,61.5.23.1。  
在源程序中,要对程序代码的功能进行注释说明,提交你编写的程序给我们时,请附带该程序的使用说明。  


------解决方案--------------------
找些资料慢慢看吧,这个做起来可得花不少时间呢,而且我怎么觉得这个像是请人做东西的呢?
------解决方案--------------------
培训还要考试?哪家机构啊?可能比较正规哦