问题是这样的:
把以下IP存入一个txt文件,编写程序把这些IP按数值大小,从小到达排序并打印出来。
61.54.231.245
61.54.231.9
61.54.231.246
61.54.231.48
61.53.231.249
打印出来的结果为:
61.53.231.249
61.54.231.9
61.54.231.48
61.54.231.245
61.54.231.246
我比较IP大小的函数是自己写的
public static int compare(String s1, String s2) {
//s1和s2是两个对比的IP值
//将s1和s2中的字符串按点号"."分离,并赋给sp1,sp2
String[] sp1 = s1.split("\\.");
String[] sp2 = s2.split("\\.");
int in1 = 0, in2 = 0;
for(int i=0; i<sp1.length; i++) {
//将sp1和sp2中的字符串变成int类型,方便比较
in1 = Integer.parseInt(sp1[i]);
in2 = Integer.parseInt(sp2[i]);
if(in1 > in2) {
//如果sp1大于sp2则返回1
return 1;
} else if(in1 < in2) {
//小于则返回-1
return -1;
}
}
//否则返回0,表示相等
return 0;
}
本来是想实现Comparable接口,重写compareTo()方法,来给IP判断大小的
但是对着个用的不熟,不知道怎么实现,不知道哪位高手能写出来
|