黑马程序员技术交流社区

标题: 关于面试题,分享一种IP排序的方法 [打印本页]

作者: mo﹎雲℡    时间: 2013-9-7 21:46
标题: 关于面试题,分享一种IP排序的方法
问题:把以下IP存入一个txt文件,编写程序把这些IP按数值大小,从小到达排序并打印出来。
* 61.54.231.245
* 61.54.231.9
* 61.54.231.246
* 61.54.231.48
* 61.53.231.249
前面的代码我就不发了,就分享一下IP的排序方法
  1. class IP implements Comparable<IP>{
  2.         private String ip;
  3.         public IP(String ip){
  4.                 this.ip = ip;
  5.         }
  6.         public String getIp() {
  7.                 return ip;
  8.         }
  9.         public void setIp(String ip) {
  10.                 this.ip = ip;
  11.         }
  12.         //增加排序方法
  13.         @Override
  14.         public int compareTo(IP o) {
  15.                 // TODO Auto-generated method stub
  16.                 String str1 = o.getIp();
  17.                 String str2 = this.ip;
  18.                 String[] ch1 = str1.split("\\.");
  19.                 String[] ch2 = str2.split("\\.");
  20.                 int x=0;
  21.                 //此处为判断两个ip地址从ch[0-3]的大小。
  22.                 while(x<4){
  23.                         if(Integer.valueOf(ch1[x])>Integer.valueOf(ch2[x])){
  24.                                 return -1;
  25.                         }else if(Integer.valueOf(ch1[x])==Integer.valueOf(ch2[x])){
  26.                                 x++;
  27.                         }else{
  28.                                 return 1;
  29.                         }
  30.                 }
  31.                 return 0;
  32.         }
  33. }
复制代码

作者: 董广斌    时间: 2015-4-26 22:19
谢谢了  ,这问题困扰我太久了





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2