Exception lors de l'accès à un tableau à 2 dimensions

[Résolu/Fermé]
Signaler
Messages postés
138
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2016
-
Messages postés
138
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2016
-
Bonjour
J'ai un problème dans mon code Java. Etant nouveau dans le monde de Java, l'erreur n'est peut-être pas bien compliquée...

J'ai une classe Matrice pour la gestion de matrices de booléen. Lorsque je créé une Matrice, une exception est levée dans le constructeur lors de l'accès au tableau à 2 dimensions. En fait, à chaque fois que j'essaye d'accéder à mon tableau à 2 dimensions, une exception est levée.

Voilà le code de la classe Matrice :

public class Matrice
{
private boolean valeurs[][];
private int size;

Matrice(int size)
{
this.size = size;

for(int i = 0; i < size; i++)
for(int j = 0; j < size; j++)
valeurs[i][j] = (Math.random() >= 0.5); // Erreur : une exception est levée lors de l'accès à valeurs[i][j]
}

// Obtenir la taille de la matrice
int getSize() { return this.size; }

// Obtenir la valeur d'une case de la matrice
boolean getCase(int x, int y) { return this.valeurs[x][y]; }

// Affiche la matrice
void affiche()
{
for(int i = 0; i < this.getSize(); i++)
{
for(int j = 0; j < this.getSize(); j++)
System.out.print(this.getCase(i, j) + " ");
System.out.println();
}
}
}


Merci pour votre aide !

2 réponses

Messages postés
7
Date d'inscription
vendredi 18 octobre 2013
Statut
Membre
Dernière intervention
27 octobre 2013
2
Tu dois creer ton tableau de booleans dans ton constructeur :


Matrice(int size)
{
this.size = size;
this.valeurs=new boolean[size][size];

for(int i = 0; i < size; i++)
for(int j = 0; j < size; j++)
valeurs[i][j] = (Math.random() >= 0.5); // Erreur : une exception est levée lors de l'accès à valeurs[i][j]
}

En gros, en java tu es obligé de dire au compilateur "Réserve de la place pour mon tableau, qui est de taille size..." ;)
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
138
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 avril 2016
48
Ok, merci ça fonctionne !