Tableau de 02 dmensions en java

sarah9999 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
sarah9999 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
voila mon programme, et voila aussi mon probleme;j'ai essayé de creer un tableau des entiers à 02 dimensions;
mais lorsque je veux afficher ,il ya tjrs l erreur que la variable y n est pas reconnu, alors si je veux afficher directement [1][1] ça marche et mm [x][1]ça marche mais [x][y] non ; et non aussi pour [1][y]

voila mon code:

public class Main
{
int[][] monTableau = new int[2][4];
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{

int[][] monTableau;

monTableau = new int[2][4];

for (int x=0;x<monTableau.length;x++)
{
for (int y=0;y<monTableau[x].length;y++)
monTableau[x][y] = (x+y);

System.out.println("Valeur de monTableau en case [x][y] : " + monTableau[x][y]);
}
}
}

Merci.
A voir également:

3 réponses

Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
vu que dans ton "for" imbriqué, tu veux apparemment faire deux commandes (
monTableau[x][y] = (x+y);
et
System.out.println("Valeur de monTableau en case [x][y] : " + monTableau[x][y]);

il faut mettre des accolades !

Sinon la boucle for avec y ne boucle que sur la commande directement après.
Ainsi le System.out.println... est HORS de cette boucle, et y n'y est pas défini.
0
Utilisateur anonyme
 
Salut,

Il y avait deux topics pour ce problème, postés à quelques minutes l'un de l'autre. les 2 sans réponse.

Il y a peu de temps, 2 mails concernant 2 nouvelles réponses me parviennent, mais en voulant les lire je constate que le topic a disparu...

J'avai répondu dans le plus récent, une autre personne avait aussi répondu confirmant ce que je disais.

Voici ce que je répondais et que je re poste ici maintenant:

C'est normal:

y est declaré et initialisé à 0 dans la boucle for (int y=0;y<monTableau[x].length;y++) donc non "visible" en dehors de cette boucle.

Déclare donc y par exemple juste avant cette 2ème boucle ou avant le 1ère puis enlève l'int de for(int y = 0;...)

Ainsi le programme compilera, mais il y a d'autres choses à voir.

Un truc à connaître:

On peut considérer qu'un tableau à 2 dimensions ([2][4] ici) est une table de 2 lignes et 4 colonnes.

Nous avons une paire de [] soit [][], le 1er [] permet de pointer sur le n° de ligne et dans notre cas ne peut contenir que 0 ou 1. le 2ème [] permet de pointer sur le n° de colonne et dans notre cas ne peut contenir que 0 1, 2 ou 3. Toute autre valeur provoquerait la levée d'une exception (ArrayIndexOutOfBoundsException)

Exemple:

Tableau[0][3] = 5 // permet d'entrer la valeur 5 dans la colonne 3 de la ligne 0.

System.out.println("Contenu de la colonne 3 de la ligne 0 = " + Tableau[0][3]);


Cordialement,

Dan
0
sarah9999 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour
Merci pour vos reponses; j'ai rectifié et ça marche;
0