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呢? |
|