Java, initialisation d'un tableau de classe
Fermé
risperidone
-
Modifié par risperidone le 26/02/2012 à 22:23
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 27 févr. 2012 à 01:04
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 27 févr. 2012 à 01:04
A voir également:
- Java, initialisation d'un tableau de classe
- Tableau croisé dynamique - Guide
- Afficher un tableau en c - Forum C
- Jeux java itel ✓ - Forum Jeux vidéo
- Java runtime - Télécharger - Langages
- Tableau ascii - Guide
2 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
26 févr. 2012 à 22:40
26 févr. 2012 à 22:40
Il nous faut au minimum les messages d'erreurs du compilateur, et le code correspondant (pas tout, les lignes erronées devraient suffire).
Avec le peu de code que tu nous as mis, la syntaxe est fausse pour :
Avec le peu de code que tu nous as mis, la syntaxe est fausse pour :
axxe a.tab[] = new axxe[4];Tu ne peux pas déclarer a.tab, c'est à l'objet a de le faire, la seule chose que tu puisses faire c'est une initialisation : a.tab = new axxe[4], mais là encore normalement c'est à l'objet a de le faire. La notion d'encapsulation en POO est fondamentale, tu ne peux pas te servir des classes Java comme on utiliserait des struct en C...
Merci pour ta reponse, voici le code en question :
static class Axxe
{
int x;
int y;
}
static class autresStruct
{
Axxe ax[];
}
public static void main(String args[])
{
autresStruct str = new autresStruct();
str.ax = new ax[4]; /* j'ai corrigé cette ligne en fonction de reponse precedente */
}
Grace a ta réponse le compilateur ne râle plus plus mais l'exécution j'ai "Exception in thread "main" java.lang.NullPointerException"
n'y t-il aurait pas un moyen en java de créer une structure toute simple sans nécessairement tomber dans la POO ?
static class Axxe
{
int x;
int y;
}
static class autresStruct
{
Axxe ax[];
}
public static void main(String args[])
{
autresStruct str = new autresStruct();
str.ax = new ax[4]; /* j'ai corrigé cette ligne en fonction de reponse precedente */
}
Grace a ta réponse le compilateur ne râle plus plus mais l'exécution j'ai "Exception in thread "main" java.lang.NullPointerException"
n'y t-il aurait pas un moyen en java de créer une structure toute simple sans nécessairement tomber dans la POO ?
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
27 févr. 2012 à 01:04
27 févr. 2012 à 01:04
Le compilateur ne râle plus, mais il devrait !
new ax[4]; ne doit pas être compilé, car ax n'est pas une classe.
En fait ta "structure" (ce qui n'a pas de sens en Java) autresStruct, ne sert à rien !
Utilises directement Axxe[] tab = new Axxe[4]; dans ton main.
De plus évite les classes static, ça ne te sers à rien, si tu veux faire une classe Axxe ça se comprend, mais fait la bien, il n'y a aucun intérêt à vouloir contourner la POO en Java, alors que c'est toute sa force !
new ax[4]; ne doit pas être compilé, car ax n'est pas une classe.
En fait ta "structure" (ce qui n'a pas de sens en Java) autresStruct, ne sert à rien !
Utilises directement Axxe[] tab = new Axxe[4]; dans ton main.
De plus évite les classes static, ça ne te sers à rien, si tu veux faire une classe Axxe ça se comprend, mais fait la bien, il n'y a aucun intérêt à vouloir contourner la POO en Java, alors que c'est toute sa force !