package eecs2030.lab1;
/**
* A simple class for representing points in 2D Cartesian
* coordinates. Every Point2D
instance has an
* x and y coordinate.
*
* @author EECS2030 Fall 2016
*
*/
public class Point2 {
private double x;
private double y;
/**
* Create a point with coordinates (0, 0)
.
*/
public Point2() {
this.set(0.0, 0.0);
}
/**
* Create a point with coordinates (newX, newY)
.
*
* @param newX the x-coordinate of the point
* @param newY the y-coordinate of the point
*/
public Point2(double newX, double newY) {
this.set(newX, newY);
}
/**
* Returns the x-coordinate of this point.
*
* @return the x-coordinate of this point
*/
public double getX() {
return this.x;
}
/**
* Returns the y-coordinate of this point.
*
* @return the y-coordinate of this point
*/
public double getY() {
return this.y;
}
/**
* Sets the x-coordinate of this point to newX
.
*
* @param newX the new x-coordinate of this point
*/
public void setX(double newX) {
this.x = newX;
}
/**
* Sets the y-coordinate of this point to newY
.
*
* @param newY the new y-coordinate of this point
*/
public void setY(double newY) {
this.y = newY;
}
/**
* Sets the x-coordinate and y-coordinate of this point to
* newX
and newY
, respectively.
*
* @param newX the new x-coordinate of this point
* @param newY the new y-coordinate of this point
*/
public void set(double newX, double newY) {
this.x = newX;
this.y = newY;
}
/**
* Returns a string representation of this point. The string
* representation of this point is the x and y-coordinates
* of this point, separated by a comma and space, inside a pair
* of parentheses.
*
* @return a string representation of this point
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
String s = String.format("(%s, %s)", this.getX(), this.getY());
return s;
}
}