Moudex

Classe triangle

Feb 23rd, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.88 KB | None | 0 0
  1. /**
  2.  *
  3.  * @author jeremi
  4.  */
  5. public class Triangle {
  6.  
  7.     //----- Attributs -----//
  8.     private Point A1;
  9.     private Point A2;
  10.     private Point A3;
  11.  
  12.     private Segment S1;
  13.     private Segment S2;
  14.     private Segment S3;
  15.  
  16.     private String nom;
  17.  
  18.  
  19.  
  20.  
  21.     //----- Constructeurs -----//
  22.     /** Constructeur standart
  23.      *
  24.      * @param A1 un point du triangle.
  25.      * @param A2 un point du triangle.
  26.      * @param A3 un point du triangle.
  27.      */
  28.     public Triangle(Point A1, Point A2, Point A3){
  29.         setA1(A1);
  30.         setA2(A2);
  31.         setA3(A3);
  32.         setSeg();
  33.         setNom("Triangle "+A1.getNom()+"-"+A2.getNom()+"-"+A3.getNom());
  34.     }
  35.  
  36.     /** Constructeur standart
  37.      *
  38.      * @param A1 un point du triangle.
  39.      * @param A2 un point du triangle.
  40.      * @param A3 un point du triangle.
  41.      * @param nom le nom du triangle.
  42.      */
  43.     public Triangle(Point A1, Point A2, Point A3, String nom){
  44.         setA1(A1);
  45.         setA2(A2);
  46.         setA3(A3);
  47.         setSeg();
  48.         setNom(nom);
  49.     }
  50.  
  51.     public Triangle(Segment S1, Point p1, String nom){
  52.         setA1(p1);
  53.         setA2(S1.getExt1());
  54.         setA3(S1.getExt2());
  55.         setSeg();
  56.         setNom(nom);
  57.     }
  58.  
  59.     /** Constructeur de clonage
  60.      *
  61.      * @param t le triangle à cloner
  62.      */
  63.     public Triangle(Triangle t){
  64.         setA1(t.getA1());
  65.         setA2(t.getA2());
  66.         setA3(t.getA3());
  67.         setSeg();
  68.         setNom(t.getNom()+"'");
  69.     }
  70.  
  71.  
  72.     //----- Méthodes -----//
  73.     /** Calcule le périmètre du triangle
  74.      *
  75.      * @return le périmètre du triangle.
  76.      */
  77.     public double perimetre(){
  78.         return  S1.longeur()+
  79.                 S2.longeur()+
  80.                 S3.longeur();
  81.     }
  82.  
  83.     /** Calcule l'aire du triangle
  84.      *
  85.      * @return l'aire du triangle.
  86.      */
  87.     public double aire(){
  88.         double a, s;
  89.         s = perimetre() / 2;
  90.         a = Math.sqrt(s*(s-S1.longeur())*(s-S2.longeur())*(s-S3.longeur()));
  91.         return a;
  92.     }
  93.  
  94.     /** Génère les segment du triangle
  95.      *
  96.      */
  97.     public void setSeg(){
  98.         S1 = new Segment(A1, A2);
  99.         S2 = new Segment(A2, A3);
  100.         S3 = new Segment(A3, A1);
  101.     }
  102.  
  103.     public boolean equals(Triangle t) {
  104.         Point[] tabt = new Point[3];
  105.         Point[] tab = new Point[3];
  106.        
  107.         tabt[0] = t.getA1();
  108.         tabt[1] = t.getA2();
  109.         tabt[2] = t.getA3();
  110.        
  111.         tab[0] = this.A1;
  112.         tab[1] = this.A2;
  113.         tab[2] = this.A3;
  114.        
  115.         for (int i = 0; i < 3; i++) {
  116.             boolean brk = false;
  117.             for (int j = 0; j < 3; j++){
  118.                 if(tabt[i].equals(tab[j])){
  119.                     brk = true;
  120.                     tab[j] = null;
  121.                 }
  122.             }
  123.             if(!brk)
  124.                 return false;
  125.         }
  126.        
  127.         return true;
  128.     }
  129.  
  130.     @Override
  131.     public String toString(){
  132.         return "Triangle "+getNom() +"\n"
  133.                 +"-- Extremité 1 --\n"
  134.                 +A1.toString()+"\n"
  135.                 +"-- Extremité 2 --\n"
  136.                 +A2.toString()+"\n"
  137.                 +"-- Extremité 3 --\n"
  138.                 +A3.toString()+"\n"
  139.                 +"-- Perimetre --\n"
  140.                 +">> " +perimetre()+"\n"
  141.                 +"-- Aire --\n"
  142.                 +">> " +aire();
  143.     }
  144.  
  145.     //----- Accesseurs -----//
  146.     public Point getA1() {
  147.         return A1;
  148.     }
  149.  
  150.     public void setA1(Point A1) {
  151.         this.A1 = A1;
  152.     }
  153.  
  154.     public Point getA2() {
  155.         return A2;
  156.     }
  157.  
  158.     public void setA2(Point A2) {
  159.         this.A2 = A2;
  160.     }
  161.  
  162.     public Point getA3() {
  163.         return A3;
  164.     }
  165.  
  166.     public void setA3(Point A3) {
  167.         this.A3 = A3;
  168.     }
  169.  
  170.     public String getNom() {
  171.         return nom;
  172.     }
  173.  
  174.     public void setNom(String nom) {
  175.         this.nom = nom;
  176.     }
  177.  
  178.  
  179. }
Advertisement
Add Comment
Please, Sign In to add comment