Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *
- * @author jeremi
- */
- public class Triangle {
- //----- Attributs -----//
- private Point A1;
- private Point A2;
- private Point A3;
- private Segment S1;
- private Segment S2;
- private Segment S3;
- private String nom;
- //----- Constructeurs -----//
- /** Constructeur standart
- *
- * @param A1 un point du triangle.
- * @param A2 un point du triangle.
- * @param A3 un point du triangle.
- */
- public Triangle(Point A1, Point A2, Point A3){
- setA1(A1);
- setA2(A2);
- setA3(A3);
- setSeg();
- setNom("Triangle "+A1.getNom()+"-"+A2.getNom()+"-"+A3.getNom());
- }
- /** Constructeur standart
- *
- * @param A1 un point du triangle.
- * @param A2 un point du triangle.
- * @param A3 un point du triangle.
- * @param nom le nom du triangle.
- */
- public Triangle(Point A1, Point A2, Point A3, String nom){
- setA1(A1);
- setA2(A2);
- setA3(A3);
- setSeg();
- setNom(nom);
- }
- public Triangle(Segment S1, Point p1, String nom){
- setA1(p1);
- setA2(S1.getExt1());
- setA3(S1.getExt2());
- setSeg();
- setNom(nom);
- }
- /** Constructeur de clonage
- *
- * @param t le triangle à cloner
- */
- public Triangle(Triangle t){
- setA1(t.getA1());
- setA2(t.getA2());
- setA3(t.getA3());
- setSeg();
- setNom(t.getNom()+"'");
- }
- //----- Méthodes -----//
- /** Calcule le périmètre du triangle
- *
- * @return le périmètre du triangle.
- */
- public double perimetre(){
- return S1.longeur()+
- S2.longeur()+
- S3.longeur();
- }
- /** Calcule l'aire du triangle
- *
- * @return l'aire du triangle.
- */
- public double aire(){
- double a, s;
- s = perimetre() / 2;
- a = Math.sqrt(s*(s-S1.longeur())*(s-S2.longeur())*(s-S3.longeur()));
- return a;
- }
- /** Génère les segment du triangle
- *
- */
- public void setSeg(){
- S1 = new Segment(A1, A2);
- S2 = new Segment(A2, A3);
- S3 = new Segment(A3, A1);
- }
- public boolean equals(Triangle t) {
- Point[] tabt = new Point[3];
- Point[] tab = new Point[3];
- tabt[0] = t.getA1();
- tabt[1] = t.getA2();
- tabt[2] = t.getA3();
- tab[0] = this.A1;
- tab[1] = this.A2;
- tab[2] = this.A3;
- for (int i = 0; i < 3; i++) {
- boolean brk = false;
- for (int j = 0; j < 3; j++){
- if(tabt[i].equals(tab[j])){
- brk = true;
- tab[j] = null;
- }
- }
- if(!brk)
- return false;
- }
- return true;
- }
- @Override
- public String toString(){
- return "Triangle "+getNom() +"\n"
- +"-- Extremité 1 --\n"
- +A1.toString()+"\n"
- +"-- Extremité 2 --\n"
- +A2.toString()+"\n"
- +"-- Extremité 3 --\n"
- +A3.toString()+"\n"
- +"-- Perimetre --\n"
- +">> " +perimetre()+"\n"
- +"-- Aire --\n"
- +">> " +aire();
- }
- //----- Accesseurs -----//
- public Point getA1() {
- return A1;
- }
- public void setA1(Point A1) {
- this.A1 = A1;
- }
- public Point getA2() {
- return A2;
- }
- public void setA2(Point A2) {
- this.A2 = A2;
- }
- public Point getA3() {
- return A3;
- }
- public void setA3(Point A3) {
- this.A3 = A3;
- }
- public String getNom() {
- return nom;
- }
- public void setNom(String nom) {
- this.nom = nom;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment