黑马程序员技术交流社区
标题:
自己写的ip排序的代码发现两个问题
[打印本页]
作者:
当我遇上你
时间:
2015-1-10 19:12
标题:
自己写的ip排序的代码发现两个问题
class MyComparator implements Comparator<String>
{
public int compare(String s1,String s2)
{
String[] str1=s1.split("\\.");
String[] str2=s2.split("\\.");
for(int i=0;i<str1.length;i++)
{
int in1=Integer.parseInt(str1[i]);
int in2=Integer.parseInt(str2[i]);
int x=in1-in2;
if(x!=0)
{
return x;
}
}
return 0;
}
}
复制代码
以上是自己写的ip排序代码,有两个疑问:
1、"\\."和"."只有前者出正确结果,之前做的一个代码逗号分割的时候两种情况都对
2、我在if(x!=0)执行后加了else continue他会回到循环处,但是我不加按理说计算机没得到x=0怎么处理的指令应该会报错,但是没有报错,而且一切正常。什么时候计算机默认空处理,什么时候必须处理?
作者:
godmmm
时间:
2015-1-10 21:16
1.String 的split接收的是一个正则表达式,在正则里面 . 表示任意字符,那就是说你按任意字符切割的,当然不对
2.循环里面你加了if判断,如果条件不成立会再循环,直到循环条件满足
作者:
当我遇上你
时间:
2015-1-11 14:15
godmmm 发表于 2015-1-10 21:16
1.String 的split接收的是一个正则表达式,在正则里面 . 表示任意字符,那就是说你按任意字符切割的,当然 ...
哦,明白了,看来还得看视频,正则这个东西没看到
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2