为什么这是一个布尔值,我该如何解决?

时间:2015-05-29 16:21:32

标签: java int boolean

好的,aswitch是一个.status()方法的对象,它是真的还是假的

我希望它检查列中的每个单独的开关,如果它们都存储了" ON"的列号。数组中的列数。我尝试了下面的变化无济于事。

private aswitch[10][10] grid;

public ArrayList<Integer> CheckCol()
{

 ArrayList<Integer> count = new ArrayList<Integer>(); 

int j =0;


for (int i = 0; i<10; i++)


       if(grid[i][j].status()){
        j++;
                if ( j == 9) {

                   count.add(i);
                   j=0;
                }
            }

   return count;
}    

它停在if(j == 9)行,我认为不知何故它认为它是一个布尔值,而我认为它是一个索引值j。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您注意到j不是Boolean值是正确的,但因为所有if语句都需要布尔表达式来测试truefalse,{{ 1}}只是一个这样的布尔表达式。它与您有(j == 9) String并输入s没有什么不同。

答案 1 :(得分:0)

你在第一个for循环中缺少一个括号。试试这个:

private aswitch[10][10] grid;

public ArrayList<Integer> CheckCol()
{

 ArrayList<Integer> count = new ArrayList<Integer>(); 

int j =0;


for (int i = 0; i<10; i++){


       if(grid[i][j].status()){
        j++;
                if ( j == 9) {

                   count.add(i);
                   j=0;
                }
            }

   return count;
  }
}