A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class RegaxDemo {
        public static void main(String[] args) {
                // 封装键盘录入
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一行QQ号:");
                String s = sc.nextLine();

                boolean flag = checkQq(s);
                System.out.println(flag);

        }

        private static boolean checkQq(String s) {
                boolean flag = true;

                if (s.length() >= 5 && s.length() <= 15) {
                        if (!s.startsWith("0")) {
                                char[] ch = s.toCharArray();
                                for (char chs : ch) {
                                        // 下面一步把!去掉,然后flag=true,为何测试的时候输入带 字母的它会返回true呢?
                                        if (!(chs >= '0' && chs <= '9')) {
                                                flag = false;
                                                break;
                                        }
                                }
                        } else {
                                flag = false;
                        }
                } else {
                        flag = false;
                }
                return flag;
        }

}


以上内容中,在最后一个if中,如果把!去掉,然后返回值改为true,为什么输入带有字母的号码检测的时候会返回的是true呢?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马