访问对象数组中的对象数组中的方法

时间:2013-06-15 23:49:34

标签: java arrays object

如何访问对象数组中的对象数组?

我的代码:

private boolean intersect(Polygon[] polygons, Line[] the_path, int i, int j)
{
   int k = 0;
   boolean intersect;

   if(intersect == true)
   {
       for(i = 0; i < polygons.length; i++)
        for(j = 0; j < polygons._lines.length; j++)
           for(k = 0; k < the_path.length; k++)
           intersect = polygons._lines[j].intersect(the_path[k]);
   } 

   return intersect;
}

行数组中的intersect方法返回一个布尔值,但每个多边形中有一个单独的行对象数组....如何访问该方法? (注意......我不知道这个确切的代码是否能满足我的要求,但无论哪种方式我都需要能够访问该方法)

1 个答案:

答案 0 :(得分:1)

我认为您不小心将索引遗漏到了多边形中(例如polygons[i])。此外,目前您为intersect分配了intersect()的值,这意味着它将覆盖先前循环迭代中给予布尔intersect的任何其他值。我添加了一个if语句,如果发现该情况,将立即中断该函数。但是,如果您想保留该变量,则可以执行类似intersect = intersect || ... .intersect()的操作。

试试这个:

private boolean intersect(Polygon[] polygons, Line[] the_path, int i, int j) {
  int k = 0;

  for (i = 0; i < polygons.length; i++) {
    for (j = 0; j < polygons[i]._lines.length; j++) {
      for (k = 0; k < the_path.length; k++) {
        if (polygons[i]._lines[j].intersect(the_path[k])) {
          return true;
        }
      }
    }
  }

  return false;
}