无法弄清楚如何修复我的代码

时间:2015-11-22 17:55:26

标签: java

您好,过去几个小时我一直在尝试修复我的代码。问题是,当我去检查是否""是一个整数,当它应该为false时返回true。我知道为什么会发生这种情况,因为它没有进入for循环并返回true,但我似乎无法弄清楚如何让它返回false为"" 。如果需要,我可以提供更多信息。

World.prototype.turn = function() {
  var acted = [];
  this.grid.forEach(function(critter, vector) {

    if (critter.act && acted.indexOf(critter) == -1) {
      acted.push(critter);
      this.letAct(critter, vector);
    }
  }, this);
};

感谢您花时间尝试帮助我:)

2 个答案:

答案 0 :(得分:1)

您可以检查有效输入(即长度为0的字符串)并在尝试循环之前返回false。但是,你是正确的,它没有进入循环而只是返回true。

- edit-- 像

这样的东西
if (string == null) || (string.length() == 0){
     return false
}

答案 1 :(得分:1)

在您的算法中,空字符串将始终返回true。你只需要添加一张支票:

if(str==null || str.length()==0) return false;

或者,您可以使用此功能:

public static boolean isInteger(String str)
{
    try
    {
        Integer.parseInt(str);
        return true;
    }
    catch(NumberFormatException e)
    {
        return false;
    }

}