2013-06-15 2 views
0

Как получить доступ к массиву объектов внутри массива объектов?Доступ к методу в массиве объектов, находящихся в массиве объектов

мой код:

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; 
} 

Метод пересекаются в массиве строк возвращает логическое значение, но есть отдельный массив линейных объектов в каждом из полигонов .... как я могу идти о доступе этот метод? (note.I не знаю, будет ли этот точный код делать то, что я хочу, но в любом случае мне нужно иметь доступ к этому методу)

ответ

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; 
} 
+0

Спасибо, что работали .... как мой единственный вопрос выяснить, где нулевое исключение указателя происходит и почему -_- –

+0

@ user2489837 - Нет проблем, с удовольствием Помогите :). Возможно, если вы разместите столбец вызовов исключений нулевого указателя, мы сможем помочь вам отладить вашу проблему. – Aiias

Смежные вопросы