Exception lors de l'accès à un tableau à 2 dimensions
Résolu
Jeankowkow
Messages postés
154
Statut
Membre
-
Jeankowkow Messages postés 154 Statut Membre -
Jeankowkow Messages postés 154 Statut Membre -
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 !
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 !
A voir également:
- Exception lors de l'accès à un tableau à 2 dimensions
- Tableau word - Guide
- Trier un tableau excel - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Tableau ascii - Guide
- Acces rapide - Guide
2 réponses
Tu dois creer ton tableau de booleans dans ton constructeur :
En gros, en java tu es obligé de dire au compilateur "Réserve de la place pour mon tableau, qui est de taille size..." ;)
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..." ;)