title: Java - Error initialising Object Array List
body: <p>I am getting a null pointer exception when I try to use the perimeter function in my code. It seems that the Points array (Point is a simple object with an x and y coordinate) is not correctly initialising, I believe I may have declared the array wrongly or the constructor is incorrect.</p>
  
  <pre><code>package shapes;
  
  import static java.lang.Math.*;
  
  public class Triangle {
  
  private int sides = 3;
  private Point[] Points = new Point[sides];
  
  public Triangle(Point[] vertices) {
      vertices = Points;
  }
  
  public double perimeter() {
      return Points[0].distance(Points[1]) + Points[1].distance(Points[2]) + Points[2].distance(Points[0]);
  }
  
  public double area() {
      double semiperimeter = perimeter() / 2;
      return sqrt(semiperimeter * (semiperimeter - Points[0].distance(Points[1])) * (semiperimeter - Points[1].distance(Points[2])) * (semiperimeter - Points[2].distance(Points[0])));
  }
  
  @Override
  public String toString() {
      return "Triangle has perimeter of " + perimeter() + " and an area of " + area(); 
  }
  
  public void translate(int dx, int dy) {
      for(int i = 0; i &lt; 3; i++) {
          Points[i].translate(dx, dy);
      }
  }
  
  public void scale(int factor) {
      for(int i = 0; i &lt; 3; i++) {
          Points[i].scale(factor);
      }        
  }
  
  public Point getVertex(int i) {
      return Points[i];
  }
  
  }
  </code></pre>
  
  <p>Any help is much appreciated!</p>