java - 在新方法中使用 boolean 结果时出错 - 需要字符串,但找到 boolean 值

标签 java if-statement compilation boolean

我在 Java 中创建了一些方法来根据长度、字符和数字测试字符串的结果。但是,我还需要创建一种新方法来检查所有这些结果,并根据它们是否都为真生成 boolean 结果。但我不确定我是否在 IF/ELSE 循环中正确调用了其他方法,并且当我编译时,我收到一条错误,指出它需要字符串结果,但找到了 boolean 值。有什么想法我哪里出错了吗?

新方法的代码当前为:

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;
     }
  }
}

最佳答案

  1. isValidLength(true) && isValidStart(true) && hasValidDigits(true),这些方法的参数中没有 boolean 值。

  2. 问题答案是:

改变这个:

if(isValidLength(true) && isValidStart(true) && hasValidDigits(true)) {}

对此:

if(isValidLength(s) && isValidStart(s) && hasValidDigits(s)) {}

return isValidLength(s) && isValidStart(s) && hasValidDigits(s);

关于java - 在新方法中使用 boolean 结果时出错 - 需要字符串,但找到 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47712270/

相关文章:

java - validate() 树在 L&F 更改时抛出 NullPointerException?

Python - 如果不是 0.0 的语句

excel - VBA If/ElseIf-编译错误: Duplication in Current Scope

c# - 有条件地编译整个命名空间 - C#

javascript - 在不实际评估代码的情况下检查代码是否是有效的 JavaScript

java - 将 char[] 转换为 byte[]

java - 过滤时 lambda 表达式中的空值在 Java 中出现异常

java - 从 joda.Datetime 转换为 time.LocalDateTime 是正确的方法吗?

java - 使用 if 语句为变量赋值

python - 我可以通过编译来提高 python 运行时吗?