首页 > 解决方案 > 我应该在哪里初始化变量以在 IF 块中工作?

问题描述

我正在尝试在 CodingBat 上解决这个问题:

如果给定的字符串包含 1 到 3 个 'e' 字符,则返回 true。

到目前为止,我有这个解决方案,但是如果我在 IF 块内初始化了“numofe”整数,它就不会编译,因为代码的其他部分不能使用它,反之亦然。那么我应该在哪里初始化一个变量,以便在代码中的任何地方都可以访问?

谢谢你。

public boolean stringE(String str) {

  int numofe;

  for(int x = 0; str.length() > x; x++){

    if (str.charAt(x)=='e'){

      numofe++;
    }

  }
   return (numofe>0 && numofe<4);
}

标签: javavariablesif-statementinitialization

解决方案


块中的变量应该在使用它们之前进行初始化,用初始值初始化它们,它可以是任何允许的值。但是如果不先初始化它们就不能使用它们。

int numofe=0;

这不会编译numofe++;,因为numofe没有在您的代码中初始化


推荐阅读