这是我对用户ID号的验证,在测试时,我输入了长度小于10的无效字符串,它设置了输入并且不执行else语句。
源代码:
private String phoneNum;
public personalInfo(String phNum) {
setPhoneNum(phNum);
}
public String getPhoneNum() {
return phoneNum;
}
public void setPhoneNum(String phNum) {
if (phoneNum.startsWith("05")&&(phoneNum.length()==10)){
phoneNum = phNum;
}
else throw new IllegalArgumentException ("Invalid Phone Number!");
}
最佳答案
你的方法看起来像这样...
public void setPhoneNum(String phNum) {
if (phoneNum.startsWith("05")&&(phoneNum.length()==10)){
phoneNum = phNum;
}
那里您不是在验证参数,而是变量
phoneNum
...改为:
public void setPhoneNum(String phNum) {
if (phNum.startsWith("05")&&(phNum.length()==10)){
phoneNum = phNum;
}