A voir également:
- Comment afficher un tableau de "x" avec x nr de ligne et col
- Tableau croisé dynamique - Guide
- Comment faire un tableau - Guide
- Direct x runtime - Télécharger - Pilotes & Matériel
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
1 réponse
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
9 janv. 2022 à 18:05
9 janv. 2022 à 18:05
Bonjour,
Il y a plein d'erreurs partout, je ne vais pas tout corriger mais quelques pistes :
Il y a plein d'erreurs partout, je ne vais pas tout corriger mais quelques pistes :
- Le constructeur ne devrait pas faire d'affichage
- La méthode affiche() devrait faire plus que ça
- Tu dois te servir des valeurs Mat[i][j] du tableau
Modifié le 9 janv. 2022 à 19:39
Quand tu parles de la méthode affiche(), c'est dans le main ou dans ma classe monde?
J'ai vraiment du mal a comprendre tout ce que je déclare ..etc en réalité.
Parce-que j'ai modifié quelques lignes.
Et mon main et plus ou moins identique a avant.
9 janv. 2022 à 20:17
C'est la même méthode. Dans la classe monde c'est sa déclaration (ce que doit faire la méthode et comment le faire) et dans le main c'est son appel (quand elle doit être utilisée et avec quels paramètres).
Commençons déjà par la classe Monde.
Déjà, par convention seuls les noms de classes (Monde par exemple) devraient commencer par une majuscule, tous les autres noms devraient commencer par une minuscule, donc on devrait avoir mat au lieu de Mat.
Ensuite il n'y a pas de raison que ce soit public, à moins de vouloir explicitement faire quelque chose de plus avec tu devrais mettre private par défaut.
Enfin, il n'y a pas de raison d'utiliser la classe Boolean, le type primitif boolean suffira.
Donc :
Ça ne sert à rien, ce sont des informations que tu peux déduire, donc inutile de les stocker.
nbL c'est et nbC n'est pas forcément fixe, le nombre de colonne peut être différent pour chaque ligne, il faudrait donc considére pour la première ligne, pour la deuxième, etc.
Même remarques : que précédemment, on devrait avoir et on oublie nbL et nbC.
Ensuite new Boolean[Mat1.length][Mat1.length]; est faux puisque tu créés le nombre de colonnes avec le nombre de lignes, ce qui n'est vrai que pour les matrices carrées, mais faux en général. De toute façon tu n'as pas besoin de créer un tableau pour mat; il existe déjà c'est ton paramètre mat1.
Ensuite ta boucle ne sert à rien, elle ne fait rien, et en plus l'initialisation de j à 10 est fausse.
Tu devrais tout simplement avoir :
La méthode affiche maintenant :
Tout d'abord, elle devrait être public, ici ça fonctionne car tu est dans le même package, mais c'est faux en général.
Ensuite l'affichage des "x" est inutile.
Plus problématique, tu affiches des Mat[i] et des Mat[j] de la même manière, cela va faire deux fois la même chose (à part que c'est d'abord un i puis un j, mais ça ne change absolument rien), donc Mat[i] (ou Mat[j]) c'e sont des lignes, alors que toi ce que tu veux afficher a priori ce sont des valeurs, donc des Mat[i][j] qui en l’occurrence vont valoir true ou false puisque ce sont des boolean.
Il faut reprendre la structure à deux boucles imbriquées que tu avais dans le constructeur (mais en la corrigeant bien sûr)
Passons à la classe Main.
Ceci ne compile pas : la bonne syntaxe devrait être pour correspondre au constructeur donc déjà il faut créer mat1.
Remarque : il n'est pas obligatoire d'avoir dans le code d'appel exactement le même le nom que la paramètre dans le constructeur, on pourrait par exemple l'appeler matrice, mais surtout il faut lui donner une valeur, sinon ça ne sert à rien.
Exemple :
Modifié le 9 janv. 2022 à 21:48
merci encore pour ton aide.
Tu n'as peut être pas tout compris de ce que je souhaitais faire.
En faite, c'est un tableau Avec uniquement des x. Mais j'aimerais par exemple que ça soit un 10X10 avec des x. Ou bien 15X15. Je sais pas si tu vois ce que je veux dire ....
C'est pour ça que j'avais mis NBL et NBC. Je pensais que par la suite, j'aurais pu modifier le nombre de ligne et de colonne.
Car la, quand je lance le code, j'obtiens un tableau mais constitué de truefalsetrue
falsetrue
Si je veux des x il faut que je passe par un string?
9 janv. 2022 à 22:26
Quel intérêt d'avoir un tableau avec que des x ?
En gros la seule chose que doit faire ton programme c'est afficher des carrés ?
Parce que dans ce cas tu n'as pas besoin de ton tableau, tu as juste besoin de connaître la taille du carré.
10 janv. 2022 à 08:22