嘿伙计们正在研究ulam的螺旋问题,我想搜索我创建的2D数组并找到用户输入的数字(麻木)。我不明白为什么if语句(标有注释)总是返回false
编辑:这是部分代码,我通过调试器运行了我的genUlam函数,事实上它确实返回了数字,不幸的是这是一个赋值,所以我不能发布整个代码。
module.exports = {
functionA: function() {
},
functionB: function() {
}
};
答案 0 :(得分:3)
你不应该像使用整数一样将字符串与==进行比较。
更改
if(ulam[r][c] == Integer.toString(numb))
到
if(ulam[r][c].equals(Integer.toString(numb)))
更好的是,将Integer.toString(numb)
移出for循环,因此只执行一次:
String[][] ulam = genUlam(dimension,1);
String number = Integer.toString(numb);
for(int r = 0; r < dimension - 1; r++)
{
for(int c = 0; c < dimension - 1; c++)
{
if(ulam[r][c].equals(number))
{
printArray(ulam, r, dimension);
}
}
}