TP2: Fix the Compactable implementation in Image class.
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 4 Mar 2018 19:27:30 +0000 (20:27 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 4 Mar 2018 19:27:30 +0000 (20:27 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
TP2/Image.java
TP2/Main.java

index 62a710ca5a3c64d9f347ff1127fe5f2a2a70b8d7..37bc6c3fc4d6b724c94db174b78f3e3bd79a8670 100644 (file)
@@ -59,13 +59,16 @@ class Image extends Forme implements Compactable {
     }
 
     public void afficher() {
+        String className = this.getClass().getSimpleName();
+        System.out.println("---- " + className + " ----");
         for (int i = 0; i < formeNumber; i++) {
             formeCollection[i].afficher();
         }
     }
 
     public void compacter(int nElements) {
-        for (int i = formeNumber - 1; (i > formeNumber - nElements && !isEmpty()); i--) {
+        int minIndex = formeNumber - nElements - 1;
+        for (int i = formeNumber - 1; (i > minIndex && !isEmpty()); i--) {
             supprimer(i);
         }
     }
index 85c21fe2384a48564712366c5083c17db504b4ca..05eb447e7ade78ca54bb5ed47542e55ba5a38284 100644 (file)
@@ -127,7 +127,7 @@ class Main {
         liste.inserer(4);
 
         for (int i = 0; i < 10; i++) {
-            structure[i] = entier;
+            structure[i] = entiers;
             structure[i].afficher();
             structure[i].compacter(1);
             structure[i].afficher();
@@ -136,12 +136,11 @@ class Main {
             structure[i].afficher();
             structure[i].compacter(1);
             structure[i].afficher();
-
-            structure[i] = image;
-            structure[i].afficher();
-            structure[i].compacter(1);
-            structure[i].afficher();
         }
+
+        image.afficher();
+        image.compacter(1);
+        image.afficher();
     }
 
     public static void main(String[] args) {