
public class Point2D implements Comparable<Point2D>{

	private int x,y;
	
	public Point2D(int x, int y) {
		this.x = x; this.y = y;
	}
	
	public String toString(){
		return "("+x+","+y+")";
	}
	
	public double distALOrigine(){
		return Math.hypot(x,y);
	}
	
	@Override
	public int compareTo(Point2D o) {
		double z = o.distALOrigine()-distALOrigine();
		if (z>0.00000001)
			return 1;
		if (z<-0.00000001)
			return -1;
		return 0;
		
	}

	public static void main(String[] args) {
		Point2D o = new Point2D(0, 0);
		Point2D i = new Point2D(1, 0);
		Point2D j = new Point2D(0, 1);
		Point2D a = new Point2D(1, 1);
		System.out.println("origine "+o);
		System.out.println("abscisse 1 "+i);
		System.out.println("ordoonee 1 "+j);
		System.out.println("diagonale "+a);
		
		System.out.println("o.compareTo(i) "+o.compareTo(i));
		System.out.println("o.compareTo(j) "+o.compareTo(j));
		System.out.println("o.compareTo(a) "+o.compareTo(a));
		System.out.println("i.compareTo(j) "+i.compareTo(j));
		
	}
	
}
