NullPointerException java圈子项目

时间:2017-02-08 20:16:55

标签: java nullpointerexception geometry

我正在做一个圆形程序,我有一个带有XY信息的点类。在这里,我正在做一个圆圈类,我有几个方法来创建圆圈和主要方法,其中包含输入数据。但是,我一直在

  Exception in thread "main" java.lang.NullPointerException
  at hw_CircRect.circle.display(circle.java:26)
  at hw_CircRect.circle.main(circle.java:36)

请帮我看看〜非常感谢! 这是我的圈子类代码:

public class circle {
     private Point center;
     private double radius;
     private double area;

     public circle (Point center, double radius)
     {        
          center = new Point (center);
          area = radius * radius * 3.14;
     }

     public void display()
     {
          System.out.println("Circle Information:");
          center.print();
          System.out.println("Radius: "+radius);
          System.out.println("Area: "+area);       
     }

     public static void main (String[] args)
     {
          Point center = new Point(10,10);
          double radius = 4;
          circle c1 = new circle (center, radius);
          c1.display();        
     }
 }

2 个答案:

答案 0 :(得分:2)

您的构造函数正在修改其参数而不是类字段。使用this指定后者:

this.center = new Point (center);

或者,您可以通过为参数使用其他名称来防止阴影。

答案 1 :(得分:0)

您正在编辑参数center而不是变量,因此c1.center保持为空,当您尝试访问变量时,您会获得NullPointerException。要解决问题,请使用关键字this

public circle (Point center, double radius)
     {        
          this.center = new Point (center);
          area = radius * radius * 3.14;
     }