repositories
/
TP_POO.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TP2: cast double to int the compare method returned value.
[TP_POO.git]
/
TP2
/
Image.java
diff --git
a/TP2/Image.java
b/TP2/Image.java
index 62a710ca5a3c64d9f347ff1127fe5f2a2a70b8d7..65d0929e69f9cadae3daa7096ad43b3f9d5d2edf 100644
(file)
--- a/
TP2/Image.java
+++ b/
TP2/Image.java
@@
-1,5
+1,8
@@
+import java.util.Comparator;
-class Image extends Forme implements Compactable {
+public class Image extends Forme implements Compactable,
+ Comparable<Image>,
+ Comparator<Image> {
final int IMAGE_MAX_SIZE = 100;
Forme[] formeCollection;
int formeNumber;
final int IMAGE_MAX_SIZE = 100;
Forme[] formeCollection;
int formeNumber;
@@
-16,6
+19,10
@@
class Image extends Forme implements Compactable {
formeNumber = 0;
}
formeNumber = 0;
}
+ public int getSize() {
+ return formeNumber;
+ }
+
private boolean isEmpty() {
return (formeNumber == 0);
}
private boolean isEmpty() {
return (formeNumber == 0);
}
@@
-59,15
+66,33
@@
class Image extends Forme implements Compactable {
}
public void afficher() {
}
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 = 0; i < formeNumber; i++) {
formeCollection[i].afficher();
}
}
public void compacter(int nElements) {
- for (int i = formeNumber - 1; (i > formeNumber - nElements && !isEmpty()); i--) {
+ // Heavy solution
+ /* int minIndex = formeNumber - nElements - 1;
+ for (int i = formeNumber - 1; (i > minIndex && !isEmpty()); i--) {
supprimer(i);
supprimer(i);
+ } */
+ // Lightweight solution
+ if (formeNumber - nElements > 0) {
+ formeNumber -= nElements;
+ } else {
+ formeNumber = 0;
}
}
}
}
+ public int compareTo(Image image) {
+ return formeNumber - image.getSize();
+ }
+
+ public int compare(Image image1, Image image2) {
+ return (int)(image1.getpOri().getY() - image2.getpOri().getY());
+ }
+
}
}