.......
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;
               .........
红色的代码看不懂..他是怎么完成判断不是数字的啊?求教...

解决方案 »

  1.   

    JAVA 里的 '== '是判断 内容和类型都相等 ,光内容相等用equals(Object obj),不知道你的全部程序 是怎么写的 看下API吧  类的indexof这个方法!
      

  2.   

    temp是char,不是对象,怎么有方法?
      

  3.   

    ¦ ¦(temp.indexof(temp)!=-1))) 也就是判断为空的了!!!
      

  4.   

    如果是判断为空,那应该是对UserName进行。
      

  5.   

    那temp.indexof(temp)是什么意思啊?
      

  6.   

    同意2楼的,temp是char,编绎就通不过,别谈别的
    好好调完程序再发出来吧
      

  7.   

    把那一长串改成 if(!username.matches("\\w+")) 会更简单好懂一些。