Bonjour,

en fait j'essaye de faire un exo et je bloque voila mon énoncé :

Dans la classe Livre écrivez une méthode d'instance compare pour comparer 2 livres sur leur nombre de pages.
compare prend un livre en paramètre et elle renvoie 0 si le livre a le même nombre de pages que l'instance qui reçoit le message, 1 si l'instance courante ("this") a plus de pages que le parametre et -1 sinon.

Pour tester, vous utiliserez un code semblable au suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
System.out.print("L'auteur du plus gros livre est ");    
String auteurPlusGrosLivre; 
// Le code pour trouver le livre qui a le plus de pages (entre 2 livres)
// Ecrivez 2 versions : une avec if et l'autre avec switch
. . . 
System.out.println(auteurPlusGrosLivre);

Et voila le code de ma méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public void compare(Object l) {
    if (this.nbPages == nbPages) {
        System.out.println("0");
    } else if (this.nbPages > nbPages) {
        System.out.println("1");
    } else {
        System.out.println("-1");
    }
 }
Je n'ai pas d'erreur à la compilation mais quand j'exécute il renvoie toujours 0, alors qu'il ne devrait pas dans certains cas.

Merci de m'aider je bloque depuis un moment je ne sais pas comment faire.