Tableau d'objet en java
Résolu/Fermé
lafa73
Messages postés
39
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
27 octobre 2008
-
15 avril 2008 à 13:40
prince06 - 26 mars 2010 à 12:18
prince06 - 26 mars 2010 à 12:18
A voir également:
- Java tableau d'objet
- Tableau croisé dynamique - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Tableau ascii - Guide
- Tableau word - Guide
10 réponses
reltak
Messages postés
261
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
14 janvier 2012
41
15 avril 2008 à 13:55
15 avril 2008 à 13:55
Bonjour,
alors pourquoi static ??
Tout d'abord il faut que tu dises que ton tableau va accueillir des Points.
la bonne syntaxe est
Voilà
Reltak.
alors pourquoi static ??
Tout d'abord il faut que tu dises que ton tableau va accueillir des Points.
la bonne syntaxe est
Point tab[] = { p1, p2 };
Voilà
Reltak.
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
15 avril 2008 à 14:08
15 avril 2008 à 14:08
Bonjour,
En plus, puisqu'il s'agit d'un tableau, il faut lui donner une longueur à l'initialisation.
Et puis tu fais un constructeur avec deux paramètres dans ta classe Point mais tu ne l'utilise pas.
Tes points ne sont donc pas rempli.
Voilà un code plus propre et fonctionnel :
Tout ce qui est en gras est à ne pas oublier. Dans un tableau le premier indice est toujours 0, et non 1.
En plus, puisqu'il s'agit d'un tableau, il faut lui donner une longueur à l'initialisation.
Et puis tu fais un constructeur avec deux paramètres dans ta classe Point mais tu ne l'utilise pas.
Tes points ne sont donc pas rempli.
Voilà un code plus propre et fonctionnel :
point p1 = new Point(12,45) point p2 = new Point(45,12) static Point[] tab = new Point[2]; tab[0] = p1; tab[1] = p2
Tout ce qui est en gras est à ne pas oublier. Dans un tableau le premier indice est toujours 0, et non 1.
lafa73
Messages postés
39
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
27 octobre 2008
1
15 avril 2008 à 16:08
15 avril 2008 à 16:08
merci pour votre réponse mais je tien a vous dire que voila le resultat que j obtien
Point@360be0
Point@45a877
je ne comprend rien en ce resultat y as t il quelqu un qui peut m aider
merci
Point@360be0
Point@45a877
je ne comprend rien en ce resultat y as t il quelqu un qui peut m aider
merci
Bonjour,
C'est parce que tu dois implémenter la méthode toString dans ta classe Point sinon elle affichera les adresses mémoires comme tu peux le voir.
public String toString() {
/* ce que tu veux afficher du moment que ça retourne un String */
}
C'est parce que tu dois implémenter la méthode toString dans ta classe Point sinon elle affichera les adresses mémoires comme tu peux le voir.
public String toString() {
/* ce que tu veux afficher du moment que ça retourne un String */
}
lafa73
Messages postés
39
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
27 octobre 2008
1
15 avril 2008 à 16:26
15 avril 2008 à 16:26
mais dois je implementer cette methode juste car je manipule un objet ou bien meme avec les variables
C'est parce que tu utilises une classe Point qui n'est pas une classe propre à java mais une classe que tu as toi-même créée.
De base, une classe n'implémente cette méthode meme si les attributs de celle-ci utilisent des types primitifs (int, long, double, float, char...)
De base, une classe n'implémente cette méthode meme si les attributs de celle-ci utilisent des types primitifs (int, long, double, float, char...)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
15 avril 2008 à 16:39
15 avril 2008 à 16:39
En java si tu tente d'afficher un objet, comme c'est ton cas, si aucune méthode 'toString()' n'est implémentée dans la classe de l'objet en question, ce sera son adresse en mémoire qui apparaitra, alors que si tu as fais une méthode 'toString()' (qui retourne la représentation de ta classe sous forme de chaine de caractère), ce sera une chaine de caractère qui s'affichera.
A toi ensuite de définir ce que retournera ta fonction toString dans ta classe. Généralement on retourne les valeurs des différentes propriétés de la classe (format texte donc)
A toi ensuite de définir ce que retournera ta fonction toString dans ta classe. Généralement on retourne les valeurs des différentes propriétés de la classe (format texte donc)
lafa73
Messages postés
39
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
27 octobre 2008
1
15 avril 2008 à 17:34
15 avril 2008 à 17:34
je ne sais pas pourquoi une fois j execute une methode avec return il n affiche rien
que dois je faire
merci
que dois je faire
merci
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
15 avril 2008 à 17:34
15 avril 2008 à 17:34
montre nous ce que tu as fais (donne ton code)
lafa73
Messages postés
39
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
27 octobre 2008
1
15 avril 2008 à 17:48
15 avril 2008 à 17:48
dans la classe point j ai inserer ce code
public double distance(Point M) {
d = Math.sqrt( (this.x - M.x) * (this.x - M.x) + (this.y - M.y) * (this.y - M.y));
return d;
}
}
et dans le main
Point P1 = new Point (14,18);
P1.distance(50,25);
}
}
il n affaiche rien
public double distance(Point M) {
d = Math.sqrt( (this.x - M.x) * (this.x - M.x) + (this.y - M.y) * (this.y - M.y));
return d;
}
}
et dans le main
Point P1 = new Point (14,18);
P1.distance(50,25);
}
}
il n affaiche rien
Utilisateur anonyme
15 avril 2008 à 17:51
15 avril 2008 à 17:51
ajoute : System.out.println(P1.toString());
lafa73
Messages postés
39
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
27 octobre 2008
1
15 avril 2008 à 17:57
15 avril 2008 à 17:57
non ca ne marche pas moi je veux afficher la distance entre deux point qui est un double alors que dans la methode tostring elle imprimeles abscisse de mon point
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
15 avril 2008 à 18:01
15 avril 2008 à 18:01
Pour cela il faut afficher :
Au bon endroit dans ton code bien sur.
System.out.println("Distance : "+p1.distance(p2));
Au bon endroit dans ton code bien sur.
lafa73
Messages postés
39
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
27 octobre 2008
1
15 avril 2008 à 18:14
15 avril 2008 à 18:14
c bon merci ca marche
je vous remercie bcp
je vous remercie bcp
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
15 avril 2008 à 21:39
15 avril 2008 à 21:39
Si le problème est résolu, pense à cocher l'option "résolu" pour le statut de la discussion (situé tout en haut de la discussion)