2017-02-14 2 views
-1
class PointInPlane { 
    public float x; 
    public float y; 

    static class CircleInPlane { 
     public static float r; 
     public static float xcentr; 
     public static float ycentr; 

     static void solve(PointInPlane a, PointInPlane b, PointInPlane c) { 
      float A = (b.y-a.y)/(b.x-a.x); //geting NullPointerExeption 
      float B = (c.y-b.y)/(c.x-b.x); //probably will get in all next steps 
      xcentr = (A*B*(a.y-c.y)+B*(a.x+b.x)-A*(b.x+c.x))/(2*(B-A)); 
      ycentr = A*(xcentr-a.x)+a.y; 
      r = sqrt((pow((a.x - xcentr), 2) + pow((a.y - ycentr), 2))); 
     } 
    } 
} 

Таким образом, IDK, как я могу справиться с этой проблемой. Я получаю NullPointerExeption при объявлении float A. Я думаю, проблема в том, что я использую поля из одного класса в другом или пытаюсь использовать объекты PointInPlane a, b и c с нулевыми полями. Как эта проблема может быть решена?NullPointerExeption при использовании атрибута от одного класса в другом

+0

'a' или' b' является 'null'. – luk2302

+0

Покажите, как вы называете метод 'solve()' и присваиваете значения используемым параметрам. –

+0

@ luk2302 - или оба –

ответ

-1

Я получаю NullPointerExeption, когда объявляет плывите

Это означает, что ваш параметр «а» или «б» относится не к какому-либо объекту в памяти. Это можно просто решить, отслеживая переменные «a» и «b», чтобы убедиться, что она ссылается на объект до его использования.

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