Coverage Summary for Class: Ex1Rectangle (io.github.lyes_sefiane)

Class Class, % Method, % Branch, % Line, %
Ex1Rectangle 0% (0/1) 0% (0/8) 0% (0/14) 0% (0/41)


 package io.github.lyes_sefiane;
 
 import io.github.lyes_sefiane.model.Rectangle;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
 /**
  * @course : IFT 1170 Java Programming and Applications
  * @university : University of Montreal
  * @teacher : Van Nguyen Le
  * @email : van.nguyen.le@umontreal.ca
  * @student : Sefiane, Lyes
  * @matricule : 20090833
  * @email : lyes.sefiane@umontreal.ca
  * @email : lyes.sefiane@gmail.com
  * @date : 2017-04-19
  */
 public class Ex1Rectangle {
 
     private static final Logger logger = LogManager.getLogger(Ex1Rectangle.class);
 
     public static void demo1() {
 
         logger.info("Démonstration numéro 1 : ");
 
         Rectangle rect1 = new Rectangle(7.8, 3.5);
         rect1.afficher("premier rectangle");
 
         Rectangle rect2 = new Rectangle();
         rect2.afficher("rect2");
 
         Rectangle rect3 = new Rectangle(4.1);
         rect3.afficher("troisieme rectangle");
 
         rect1.setLargeur(2 * rect1.getLargeur());
         rect1.afficher("rect1 apres avoir double sa largeur");
     }
 
     public static void afficher(Rectangle[] rect, int nbRect, String mess) {
         logger.info("Infos des rectangles {} : ", mess);
         logger.info("largeur longueur périmètre surface diagonale");
 
         for (int i = 0; i < nbRect; i++)
             logger.info("<{} | {} | {} | {} | {}>",
                     rect[i].getLargeur(), rect[i].getLongueur(), rect[i].perimetre(),
                     rect[i].surface(), rect[i].diagonale());
 
     }
 
     public static int indMaxLongueur(Rectangle[] rect, int nbRect) {
         int indPG = 0;
         for (int i = 1; i < nbRect; i++)
             if (rect[i].getLongueur() > rect[indPG].getLongueur())
                 indPG = i;
         return indPG;
     }
 
     public static void trier(Rectangle[] rect, int nbRect) {
         for (int i = 0; i < nbRect - 1; i++) {
             int indMin = i;
             for (int j = i + 1; j < nbRect; j++)
                 if (rect[j].surface() < rect[indMin].surface())
                     indMin = j;
             if (indMin != i) {
                 Rectangle tempo = rect[i];
                 rect[i] = rect[indMin];
                 rect[indMin] = tempo;
             }
         }
     }
 
     public static void demo2() {
 
         logger.info("Démonstration numéro 2 :");
 
         Rectangle[] rect = {new Rectangle(6.3, 4.7), new Rectangle(5.1, 4.6), new Rectangle(7.3, 2.8),
                 new Rectangle(4.2), new Rectangle(), new Rectangle(4.7, 3.1)};
         int nbRect = rect.length;
 
         afficher(rect, nbRect, "avant le tri");
 
         int k = indMaxLongueur(rect, nbRect);
         rect[k].afficher("rectangle ayant la plus grande longueur");
 
         trier(rect, nbRect);
         afficher(rect, nbRect, "après le tri selon les surfaces");
     }
 
     public static void main(String[] args) {
         demo1();
         demo2();
     }
 }
 
 /*
  * 2025-05-28 15:05:55 INFO  Ex1Rectangle:23 - Démonstration numéro 1 :
  * 2025-05-28 15:05:55 INFO  Rectangle:65 - Informations de premier rectangle :
  * 2025-05-28 15:05:55 INFO  Rectangle:66 -   - longueur  : 7.8
  * 2025-05-28 15:05:55 INFO  Rectangle:67 -   - largeur   : 3.5
  * 2025-05-28 15:05:55 INFO  Rectangle:68 -   - perimetre : 22.6
  * 2025-05-28 15:05:55 INFO  Rectangle:69 -   - surface   : 27.3
  * 2025-05-28 15:05:55 INFO  Rectangle:70 -   - diagonale : 8.5492689745966
  * 2025-05-28 15:05:55 INFO  Rectangle:65 - Informations de rect2 :
  * 2025-05-28 15:05:55 INFO  Rectangle:66 -   - longueur  : 5.8
  * 2025-05-28 15:05:55 INFO  Rectangle:67 -   - largeur   : 3.5
  * 2025-05-28 15:05:55 INFO  Rectangle:68 -   - perimetre : 18.6
  * 2025-05-28 15:05:55 INFO  Rectangle:69 -   - surface   : 20.3
  * 2025-05-28 15:05:55 INFO  Rectangle:70 -   - diagonale : 6.774215821775979
  * 2025-05-28 15:05:55 INFO  Rectangle:65 - Informations de troisieme rectangle :
  * 2025-05-28 15:05:55 INFO  Rectangle:66 -   - longueur  : 4.1
  * 2025-05-28 15:05:55 INFO  Rectangle:67 -   - largeur   : 4.1
  * 2025-05-28 15:05:56 INFO  Rectangle:68 -   - perimetre : 16.4
  * 2025-05-28 15:05:56 INFO  Rectangle:69 -   - surface   : 16.81
  * 2025-05-28 15:05:56 INFO  Rectangle:70 -   - diagonale : 5.79827560572969
  * 2025-05-28 15:05:56 INFO  Rectangle:65 - Informations de rect1 apres avoir double sa largeur :
  * 2025-05-28 15:05:56 INFO  Rectangle:66 -   - longueur  : 7.8
  * 2025-05-28 15:05:56 INFO  Rectangle:67 -   - largeur   : 7.0
  * 2025-05-28 15:05:56 INFO  Rectangle:68 -   - perimetre : 29.6
  * 2025-05-28 15:05:56 INFO  Rectangle:69 -   - surface   : 54.6
  * 2025-05-28 15:05:56 INFO  Rectangle:70 -   - diagonale : 10.480458005259122
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:73 - Démonstration numéro 2 :
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:39 - Infos des rectangles avant le tri :
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:40 - largeur longueur périmètre surface diagonale
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <4.7 | 6.3 | 22.0 | 29.61 | 7.860025445251434>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <4.6 | 5.1 | 19.4 | 23.459999999999997 | 6.86804193347711>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <2.8 | 7.3 | 20.2 | 20.439999999999998 | 7.818567643756751>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <4.2 | 4.2 | 16.8 | 17.64 | 5.939696961966999>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <3.5 | 5.8 | 18.6 | 20.3 | 6.774215821775979>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <3.1 | 4.7 | 15.600000000000001 | 14.57 | 5.630275304103699>
  * 2025-05-28 15:05:56 INFO  Rectangle:65 - Informations de rectangle ayant la plus grande longueur :
  * 2025-05-28 15:05:56 INFO  Rectangle:66 -   - longueur  : 7.3
  * 2025-05-28 15:05:56 INFO  Rectangle:67 -   - largeur   : 2.8
  * 2025-05-28 15:05:56 INFO  Rectangle:68 -   - perimetre : 20.2
  * 2025-05-28 15:05:56 INFO  Rectangle:69 -   - surface   : 20.439999999999998
  * 2025-05-28 15:05:56 INFO  Rectangle:70 -   - diagonale : 7.818567643756751
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:39 - Infos des rectangles après le tri selon les surfaces :
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:40 - largeur longueur périmètre surface diagonale
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <3.1 | 4.7 | 15.600000000000001 | 14.57 | 5.630275304103699>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <4.2 | 4.2 | 16.8 | 17.64 | 5.939696961966999>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <3.5 | 5.8 | 18.6 | 20.3 | 6.774215821775979>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <2.8 | 7.3 | 20.2 | 20.439999999999998 | 7.818567643756751>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <4.6 | 5.1 | 19.4 | 23.459999999999997 | 6.86804193347711>
  * 2025-05-28 15:05:56 INFO  Ex1Rectangle:43 - <4.7 | 6.3 | 22.0 | 29.61 | 7.860025445251434>
  * <p>
  * Process finished with exit code 0
  */