您好,过去几个小时我一直在尝试修复我的代码。问题是,当我去检查是否""是一个整数,当它应该为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);
};
感谢您花时间尝试帮助我:)
答案 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;
}
}