C'est clair, ça plantera plus loin...
Il vaudrait mieux faire une boucle
Code:
1
2
3
4
5 for (int i = 0; i < tabMat.length; i++) { }
Version imprimable
C'est clair, ça plantera plus loin...
Il vaudrait mieux faire une boucle
Code:
1
2
3
4
5 for (int i = 0; i < tabMat.length; i++) { }
Ah, mon avis, dans ton code, il y a un autre problème par rapport à la question posée (je te mettrais bien le code dont je parle, mais je peux pas vu que c'est une image...). Toutes les variables pour chaque matériel (date, nom, etc...) devraient être dans la classe Ordinateur, à priori.
Bah, déjà, il faut mettre dans les cases du tableaux, autant d'instances de Materiel.
Donc, premièrement dimmensionne ton tableau correctement et crée-le du bon type. S'il doit stocker 5 matériels :
Ensuite, il faut y mettre des matériels :Code:Materiel[] materiels = new Materiel[5];
puisCode:materiels[0] = new Ordianateur(...); // je suppose qu'il y a des paramètres dans le constructeur, dont le nom (si tu nous mettais le code de cette classe ça nous aiderait à mieux t'aider)
jusqu'àCode:materiels[1] = new Ordianateur(...); // ou new VideoProjecteur() ou autre materiel
qui est le cinquième (ça va de 0 à 4, soit 0, 1, 2, 3, 4, donc bien 5 valeurs)Code:materiels[4] = ...
Ensuite, pour que le nom s'affiche, soit la méthode toString() retourne le nom, et il suffit de faire. Sinon peut-être y-a-t-il une méthode getNom() dans la classe Materiel ?Code:for(Materiel materiel : materiels) System.out.println(materiel);
Bonjour , j'ai plus eu de connexion internet , je pouvais pas vous remercier pour vos réponses !!!
J'ai fais le tableau , mais maintenant c'est plus haut que ça bug ...
EXEMPLE :
Ce que j'ai mis en rouge est en erreur : The constructor Ordinateur() is undefinedCode:
1
2
3
4
5
6
7 Ordinateur o1 = new Ordinateur(); Date dateAchat1 = date2; String datePret1 = null; int numeroSerie1 = 2; int tailleEcran = 14; String typeProcesseur = "Pentium 4"; System.out.println ("L'ordinateur "+"o1"+" dont le numéro de série est " + numeroSerie1+ ", dont la taille de l'écran est "+ tailleEcran + "' " + " et dont le processeur est "+ typeProcesseur + " à été acheté le "+ dateAchat1 + " et sa date de prêt est "+ datePret1 +".");
Sauf que , voici ma classe Ordinateur :
//Etape 1
Je comprend pas ce qui est faux ...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 class Ordinateur extends Materiel { public Ordinateur(String string) { super(string); // TODO Auto-generated constructor stub } int tailleEcran; int typeProcesseur; double tailleEcran (){ double te = (0) ; return te; } double typeProcesseur (){ double tp = (0) ; return tp; } public double toString11() { return (tailleEcran); } public int toString1() { return (typeProcesseur); } }// rien en dessous
Et quelle est l'erreur ? Tu as une trace ?
ça ne m'en dit pas beaucoup plus mais bon, en relisant ton code, j'ai trouvé...
Le constructeur de Ordinateur attend un argument de type String, il faudrait donc faire new Ordinateur("mon texte");
Ou créer un constructeur sans argument...
Le constructeur de l'objet Ordinateur attend un paramètre StringCode:
1
2
3
4
5
6
7
8
9 class Ordinateur extends Materiel { public Ordinateur(String string) { super(string); } ... }
Toi, tu fais
Code:
1
2 Ordinateur o1 = new Ordinateur();
Bah oui , mais le paramètre String est à mettre dans la classe Ordinateur , pas de le main , non ?
Parce que :
Ma classe Ordinateur : Pièce jointe 160144
Et ma MAIN : Pièce jointe 160145
What ? Un paramètre c'est un paramètre.
Tu ne peux pas appeler une méthode ou un constructeur sans lui fournir les paramètres demandés.
Ta classe Ordinateur a un seul constructeur, et ce constructeur demande une String en paramètre. Donc, pour construire un ordinateur tu dois fournir une String en paramètre.
Si tu ne veux pas que ça marche comme ça, tu dois t'arranger pour qu'il n'y ait pas de paramètre. Là il y en a un, donc tu dois changer ça.