X-Git-Url: https://git.piment-noir.org/?p=TP_POO.git;a=blobdiff_plain;f=TP2%2FImage.java;h=8289930d309e5e9f9bb18b5014386ac55b5b4f1d;hp=5385626a79099f2b5e72ee675c82ef1a65acb273;hb=38098a56346bfafe27f9be0fa1af916268105b8d;hpb=979297754a1c307ecbd003a745c4586f04f0c81a diff --git a/TP2/Image.java b/TP2/Image.java index 5385626..8289930 100644 --- a/TP2/Image.java +++ b/TP2/Image.java @@ -46,14 +46,38 @@ class Image extends Forme implements Compactable { return rtVal; } + public boolean supprimer(int index) { + boolean rtVal = false; + if (!isEmpty()) { + for (int j = index; (j < formeNumber - 1 && index < formeNumber); j++) { + formeCollection[j] = formeCollection[j + 1]; + } + rtVal = true; + formeNumber--; + } + return rtVal; + } + 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) { - + // Heavy solution + /* int minIndex = formeNumber - nElements - 1; + for (int i = formeNumber - 1; (i > minIndex && !isEmpty()); i--) { + supprimer(i); + } */ + // Lightweight solution + if (formeNumber - nElements > 0) { + formeNumber -= nElements; + } else { + formeNumber = 0; + } } }