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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 武腊福 中级黑马   /  2015-5-17 00:19  /  182 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

mport java.io.*;
import java.util.*;
public class Test5 {
public static void main(String [] args)throws Exception{
  writerTo();
  show();
}
public static void writerTo()throws Exception{
  FileWriter fw=new FileWriter("Hi.txt");
  fw.write("61.54.231.245\r\n");
  fw.write("61.54.231.9\r\n");
  fw.write("61.54.231.246\r\n");
  fw.write("61.53.231.249\r\n");
  //fw.flush();
  fw.close();
}
  public static void show()throws Exception{
   BufferedReader bufr=new BufferedReader(new FileReader("Hi.txt"));
   String line=null;
   Set<IPAr> stree=new TreeSet<IPAr>();
   int x=0;
   
   while((line=bufr.readLine())!=null){
    String s=line;
    stree.add(new IPAr(line));
   }
   bufr.close();
   for(IPAr a:stree){
    System.out.println(a);
   }
  }
  
  

}
class IPAr implements Comparable<IPAr>{///问题就在这里,我明明覆盖了compareTo方法,为什么命令行总是说没覆盖呢,
private String ip;
IPAr(String ip){
  this.ip=ip;
}
public int compareTo(Object obj){
  if(!(obj instanceof IPAr))
   throw new RuntimeException("地址错误");
  IPAr a=(IPAr)obj;
  String[] sa=a.ip.split(".");
  String[] s=this.ip.split(".");
  for(int x=0;x<s.length;x++){
   int y=Integer.parseInt(s[x])-Integer.parseInt(sa[x]);
   if(y!=0)
    return y;
  }
  return 0;
}

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马