Tableau d'objet en java
Résolu
lafa73
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
prince06 -
prince06 -
Bonjour,
voila je voudrais stoker des point dans un tableau statique
voila ce que j ai fait
class Point {
double x;
double y;
public Point (double x, double y){
this.x = x;
this.y =y;
}
dans la classe main j ai fait
point p1 = new point()
point p2 = new point()
static tab [ ] = {p1,p2}
tab [1] = p1;
tab[2] = p2
mais ca ne marche pas
y a t il quelqu un qui peut m aider svp
voila je voudrais stoker des point dans un tableau statique
voila ce que j ai fait
class Point {
double x;
double y;
public Point (double x, double y){
this.x = x;
this.y =y;
}
dans la classe main j ai fait
point p1 = new point()
point p2 = new point()
static tab [ ] = {p1,p2}
tab [1] = p1;
tab[2] = p2
mais ca ne marche pas
y a t il quelqu un qui peut m aider svp
A voir également:
- Java tableau d'objet
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
10 réponses
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.
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.
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 */
}
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
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)
montre nous ce que tu as fais (donne ton code)
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.