在Java程序的同一类中调用setter/getter
我正在努力使用java文件中编写的setter/getter。基本上,它应该如何工作是在Java程序的同一类中调用setter/getter,java,Java,我正在努力使用java文件中编写的setter/getter。基本上,它应该如何工作是setPassword()setter应该测试密码是否包含数字和字母,并且至少有8个字符长 我的代码中接收错误的部分如下所示: public boolean setPassword(String password1){ int temp = password1.length(); boolean length = false; boolean number = password1.has
setPassword()
setter应该测试密码是否包含数字和字母,并且至少有8个字符长
我的代码中接收错误的部分如下所示:
public boolean setPassword(String password1){
int temp = password1.length();
boolean length = false;
boolean number = password1.hasAlphabet(); //hasAlphabet is undefined for type String
boolean letter = password1.hasNumber(); //hasNumber is undefined for type String
if(temp >= 8){
if(number){
if(letter){
password = password1;
}
}
}
else return false;
}
private boolean hasAlphabet(String password1){ //hasAlphabet is never used locally
if(password1.matches("%[a-zA-Z]%")){
return true;
}
else return false;
}
private boolean hasNumber(String password1){//hasNumber is never used locally
if(password1.matches(".*\\d.*")){
return true;
}
我的一些变量是在代码前面定义的,因此这些变量没有错误。我将错误放在有错误的行的注释中。您在字符串实例上调用方法,
password1.hasAlphabet()
,这是错误的语法。Java的String
类必须定义hasAlphabet()
方法才能工作
您应该将字符串作为参数传递给方法
boolean letter = hasAlphabet(password1);
您必须传递字符串,而不是从字符串对象调用方法。String类没有方法hasAlphabet
和hasNumber
:hasAlphabet(password1)