Expliquez moi ce petit code java,merci [Résolu]

Messages postés
125
Date d'inscription
dimanche 31 août 2008
Dernière intervention
16 décembre 2010
- - Dernière réponse : cs_limalima
Messages postés
125
Date d'inscription
dimanche 31 août 2008
Dernière intervention
16 décembre 2010
- 28 sept. 2008 à 20:10
bonjour, j'ai un petit code dont je ne comprends pas les resultat!,
dans le code j'ai met des commentaires pour que vous puissiez voir ce que moi j'ai compris
voilà le code: merci de me donner qlq explications sur le résultat du code et surtout la méthode equals(Truc)

class

Truc {
public

int
i ;
public

Truc(
int a) {
i = a ; }
public

Truc(Truc t) {
i = t.
i ; }
public

boolean equals( Truc t ) {
return (t.
i ==
i) ; }
public

static
void main(String args[]) {Truc y =

new Truc(1);
//on a la valeur 1 à iTruc z = y;

//z a memereférenceque yTruc w =

new Truc(y);
// d'après le constructeur :public (Truc t) { i = t.i ; }

//i uneautrevaleur : i=y*i

if

(z== y) System.
out .println (
" 1 ") ;
// on donne laréferenceque y

// doncestvraie

if

(w == y) System.
out .println (
" 2 ") ;
// ,c'est d'accord, ils lesréferences

 

if

(z.equals(y)) System.
out.println (
" 3 ") ;
// cequetestesi y*i =i?,oui

//commedonc c'est bon

//j'ai compris

if

(w.equals(y)) System.
out.println (
" 4 ") ;
//jesui, car çateste à si}

}

/*

* voyeztresflou pour moi!!

* leresultat l'exécution duest:

* 1

* 3

* 4

*

*/
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Dernière intervention
6 septembre 2010
3
Merci
merci de mettre en forme ton code ce n'est pas lisible comme ça..


_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Chatbour
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Dernière intervention
6 septembre 2010
3
Merci
voici le rôle de la méthode equals()..






voici ton code commenté :






class Truc {

    public int i ;

    /* Constructeur */
   



public



Truc(



int



a) {
        i = a;
    }

    /* Constructeur par recopie */
   



public



Truc(Truc t) {
        i = t.i;
    }

    /* Surcharge de la méthode equals() */
   



public




boolean equals( Truc t ) {
        return (t.i==i);
    }

    /* Test */
   



public




static void main(String args[]) {
       
        // y.i = 1
        Truc y = new Truc(1);   // (I)

        // z == y
        Truc z = y;  // (II)
       
        // w.i = y.i   ET   w != y (pas la même référence)
        Truc w = new Truc(y);   // (III)

        // VRAI : voir (II)
        if (z == y)
            System.out.println(" 1 ") ;

        // FAUX : voir (III)
       



if



(w == y)
            System.out.println(" 2 ") ;
        // VRAI : puisque z y   alors   z.i y.i   ce qui donne   z.equals(y) == true
       



if



(z.equals(y))
            System.out.println(" 3 ") ;

        // VRAI : voir (III)
       



if



(w.equals(y))
            System.out.println(" 4 ") ;
    }
}





Cordialement..

_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Chatbour
Messages postés
125
Date d'inscription
dimanche 31 août 2008
Dernière intervention
16 décembre 2010
0
Merci
je vous remercie beaucoup, c beaucoup plus claire!
Commenter la réponse de cs_limalima

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.