黑马程序员技术交流社区

标题: 不用正则我竟然判断出来了 [打印本页]

作者: WatingU    时间: 2016-7-25 23:32
标题: 不用正则我竟然判断出来了
public class Prcctice5 {

        /**
         * 编写一个校验用户名的程序,检测键盘录入的用户名是否合法 要求:用户名必须是6-10位之间的字母或数字并且不能以数字开头
         */
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);                //创建键盘录入对象
                System.out.println("请输入用户名(用户名必须是6-10位的字母或者数字,且不能以数字开头)");
                boolean flag = true;
                while(true){
                        String line = sc.nextLine();
                        if(line.length()<=10&&line.length()>=6){       
                                char [] arr =line.toCharArray();
                                if(!(arr[0]>='0'&&arr[0]<='9')){
                                        for (char c : arr) {
                                                if(!((c>='A'&&c<='Z')||(c>='0'&&c<='9')||(c>='a'&&c<='z'))){
                                                        System.out.println("不正確");       
                                                        flag = false;
                                                        break;
                                                }
                                        }
                                        if(flag==true){
                                               
                                                System.out.println("輸入正確");
                                        }
                                }else{
                                        System.out.println("错了,重新输");
                                }
                        }else{
                                System.out.println("错了");
                        }
                }       
        }
}
感觉深深的佩服自己怎么办.不过用正则真的好简单
String regex = "[a-zA-Z][\\w]{5,9}";
//String regex = "[A-Za-z][A-Za-z0-9]{5,9}";


作者: 李铮    时间: 2016-7-26 23:15
真心不容易啊
作者: lbx95272006    时间: 2016-7-26 23:47
类 Character
用这个类里面的方法也可以




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2