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

Java 访问对象数组中的对象数组中的方法,java,arrays,object,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._

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

我的代码:

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;
}
private boolean intersect(多边形[]多边形,线[]路径,int i,int j)
{
int k=0;
布尔交;
if(intersect==true)
{
对于(i=0;i

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

我想你不小心遗漏了多边形的索引(例如,
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;
}
private boolean intersect(多边形[]多边形,线[]路径,int i,int j){
int k=0;
对于(i=0;i
谢谢,这很有效……我唯一的问题是如何找出空指针异常发生的位置以及原因-u-@user2489837-没问题,很乐意帮助:)。也许如果您发布空指针异常调用堆栈,我们可以帮助调试您的问题。