/** Les abscisses et les ordonnees sont generes aleatoirement * a partir de la classe Random. **/ import java.util.*; /** Une classe qui implemente Data pour manipuler des points du plan. **/ public class Point implements Data { private int abs; private int ord; private static Random alea = new Random(); private static int modulo = 100; /** Le constructeur Point initialise les coordonnees d'un point * @param x et y sont des entiers, le plan est ZxZ **/ public Point() { abs = alea.nextInt() % modulo; ord = alea.nextInt() % modulo; } /** Ce constructeur pour passer des valeurs en parametres. **/ public Point(int x, int y) { abs = x; ord = y; } /** La méthode DistanceOrigine retourne * la distance euclidienne reelle entre * le point reference et l'origine du plan (0,0). * @see java.lang.Math **/ private double distanceOrigine() { return Math.sqrt((abs*abs) + (ord*ord)); } /** La methode toString envoie la chaine (abs,ord). **/ public String toString() { return "("+abs+","+ord+")"; } /** La methode superieure retourne * vrai si le point reference est plus eloigne de l'origine * que le point passe en parametre. * faux sinon **/ public boolean superieure(Data data) { Point b = (Point) data; return distanceOrigine() > b.distanceOrigine(); } }