如何检查2D数组中的值是否为某个数字?

时间:2015-07-10 21:34:31

标签: java multidimensional-array

嘿伙计们正在研究ulam的螺旋问题,我想搜索我创建的2D数组并找到用户输入的数字(麻木)。我不明白为什么if语句(标有注释)总是返回false

编辑:这是部分代码,我通过调试器运行了我的genUlam函数,事实上它确实返回了数字,不幸的是这是一个赋值,所以我不能发布整个代码。

module.exports = {
  functionA: function() {

  },
  functionB: function() {

  }
};

1 个答案:

答案 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);
        }
    }
}