看不懂的判断问题!求教..
....... for (int i=0;i <UserName.length();i++)
{
char temp=UserName.charAt(i);
if (!((temp> ='a'&&temp <=='z') ? ?(temp> ='A'&&temp <='Z') ? ?(temp=='_') ? ?(temp.indexof(temp)!=-1)))
error+="用户名只能用字母.数字和下划线组成";
allok=false;
.........
红色的代码看不懂..他是怎么完成判断不是数字的啊?求教...
----------------解决方案--------------------------------------------------------
编译不通吧,char类型有indexof()方法?
----------------解决方案--------------------------------------------------------
temp.indexof(temp)!=-1
汗,这个没什么意义吧,
先循环取这个用户名里的每个字符,下面
char temp=UserName.charAt(i);
(temp> ='a'&&temp <=='z') ? ?(temp> ='A'&&temp <='Z') ? ?(temp=='_')
这个就是用来判断这个字符是属于{a,b,c,,,z,A,B,,,Z,_}里面的一个字符的,当然不是数字了
----------------解决方案--------------------------------------------------------
那temp.indexof(temp)是什么意思啊?
----------------解决方案--------------------------------------------------------
indexOf()方法是String类的,返回的是字符在该字符串中的位置,如果找不到就返回-1。个人觉得加这段代码没什么意义
----------------解决方案--------------------------------------------------------
谢谢了,我也觉得那句代码没什么意义,那句代码是在一本参考书上看到的,一直不能确定他的意思!
----------------解决方案--------------------------------------------------------