为什么我在判断密码不能小于6位时,做了6>=的判断,却要输入8位才行呢? 输入中文也是一样,要至少8位数才对。中文不是占两倍数字符位的吗?
下面是代码中的判断
如果密码的长度限定为6-18位包含(6位和18位)那么需要去掉=号
String.lengh()输出的是字符个数,不是字节数,所以字符串中包含汉子计数为1
判断语句可调整为 (6 > password001.leng() || 18 < password001.leng())
基于你现在的代码逻辑,应该输入7-17位的密码是符合规则的
如有帮助,请采纳
7位不行吗?你可以输个7位然后把它的长度打印出来看看是不是7,理论上没什么问题的
把直接判断if贴一下代码,这个都是不满足条件的判断
理论上七位应该是行的 你打下断点测试一下吧
你输入的是啥?lengh()是字符个数,几个字就是几个字符,2倍那是字节,一个中文字符占2个字节
length()方法求的是字符的长度,不是字节的长度。
一个中文就是一个字符长度。