Matrice et Arraylist
euphina
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
voilà j'ai un problème avec mon code, j'ai une matrice de 10*10 j'aimerai la remplir avec un String de 100 caractére, j'ai pensé à un ArrayList de 100 caractéres qui contient un caractére dans chaque case.
le probléme c'est que ça s'arrete à l'indice 15 ( logique car c le critère d’arrêt de la boucle ) j'ai essayé plusieurs chose comme un autre compteur que j'initialise et j’incrémente mais rien ne marche, qui aurait une bonne piste ?
merci d'avance
voilà j'ai un problème avec mon code, j'ai une matrice de 10*10 j'aimerai la remplir avec un String de 100 caractére, j'ai pensé à un ArrayList de 100 caractéres qui contient un caractére dans chaque case.
public void initialize() { r.add('b');r.add('i');r.add('e');r.add('n');r.add('v'); r.add('e');r.add('n');r.add('u');r.add('e');r.add('*'); r.add('c');r.add('h');r.add('e');r.add('z');r.add('*'); r.add('m');r.add('o');r.add('i'); for(int x = 0; x<15; x++) { for(int y = 0; y<15; y++) { board[y][x] = r.get(x); boardNums[x][y] = 1; } }
le probléme c'est que ça s'arrete à l'indice 15 ( logique car c le critère d’arrêt de la boucle ) j'ai essayé plusieurs chose comme un autre compteur que j'initialise et j’incrémente mais rien ne marche, qui aurait une bonne piste ?
merci d'avance
1 réponse
Bonjour,
Voici un exemple :
Voici un exemple :
// [[a, b, c, d], [e, f, g, h], [i, j, k, l]] char[][] tab = convert("abcdefghijklmnopqrstuvwxyz", 3, 4);
public static char[][] convert(String str, int n, int m) { if (str.length() < n * m) { throw new IllegalArgumentException("Un String avec " + str.length() + " caractères est trop petit pour remplir une matrice de " + n + " x " + m + " caractères"); } char[][] result = new char[n][m]; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) result[i][j] = str.charAt(i * m + j); return result; }