A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

把存入一个txt文件,编写程序把这些IP按数值大小,从小到达排序并打印出来。
61.54.23以下IP1.245
61.54.231.9
61.54.231.246
61.54.231.48
61.53.231.249TreeSet好像不对?这个怎么写呀?

6 个回复

倒序浏览
毕向东视频里有,好像是第25天讲正则表达式里的习题。大致思路是把每个ip的4个部分补0,每部分凑够3位;然后将这些ip字符串存入字符串数组,使用Arrays.sort()字符串排序,因为位数相同字符串比较顺序就是ip大小顺序。然后再去掉每个ip多余的0,按顺序输出即可。核心就是正则表达式。
回复 使用道具 举报
谢谢呀!把正则视屏看看!java都得看那方面的视屏呀?
回复 使用道具 举报
还没学到呢
回复 使用道具 举报
BlackFlag 发表于 2016-3-8 00:32
毕向东视频里有,好像是第25天讲正则表达式里的习题。大致思路是把每个ip的4个部分补0,每部分凑够3位;然 ...

谢谢,我也刚刚看到这,谢谢
回复 使用道具 举报
谁有正则表达式的视屏?在网上没看到呀!
回复 使用道具 举报
ip排序的答案?
//定义一个ip排序的方法
        public static void ipSort(){
                String ip="61.54.231.245  61.54.231.9  61.54.231.246 61.53.231.249";
                //ip最多需要补两个0
                ip = ip.replaceAll("(\\d+)", "00$1");
                //System.out.println(ip);
                //ip去掉多余的0,ip变成都是三位数
                ip = ip.replaceAll("0*(\\d{3})","$1");
                //System.out.println(ip);
                //对ip进行切割,变成字符数组
                String[] arr = ip.split(" ");
                //用TresSet进行知我排序
                TreeSet<String> ts = new TreeSet<String>();
                for(String s : arr){
                        ts.add(s);
                }
                for(String s: ts){
                        //把0去掉
                        s = s.replaceAll("0*(\\d+)", "$1");
                        System.out.println(s);
                }
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马