我在Java中创建了一些方法来测试基于长度,字符和数字的字符串结果。但是我还需要创建一个新方法来检查所有这些结果,并根据它们是否全部生成一个布尔结果。但是我不确定我是否在我的IF / ELSE循环中正确调用其他方法,当我编译时,我得到一个错误,指出它期望一个String结果,但是找到了布尔值。我出错的任何想法?
目前新方法的代码是:
public boolean isValidAccountNum(String s)
{
if ( isValidLength(true) && isValidStart(true) && hasValidDigits(true) ){
return true;
} else
{
return false;
}
}
其他方法是:
public boolean isValidLength(String s)
{
accountNum = s;
int accountInt = s.length();
if(accountInt == 6){
return true;
}
else {
return false;
}
}
public boolean isValidStart(String s)
{
if(Character.isUpperCase(s.charAt(0))){
return true;
}
else {
return false;
}
}
public boolean hasValidDigits(String s)
{
for (int i = 0; i < s.length(); i++) {
if (Character.isLetter(s.charAt(i))){
return false;
} else
{
return true;
}
}
}
答案 0 :(得分:1)
isValidLength(true)&amp;&amp; isValidStart(true)&amp;&amp; hasValidDigits(true),这些方法的参数没有布尔值。
问题的答案是:
更改此内容:
if(isValidLength(true) && isValidStart(true) && hasValidDigits(true)) {}
对此:
if(isValidLength(s) && isValidStart(s) && hasValidDigits(s)) {}
或
return isValidLength(s) && isValidStart(s) && hasValidDigits(s);