Matrice et Arraylist

Fermé
euphina Messages postés 6 Date d'inscription mardi 8 mars 2016 Statut Membre Dernière intervention 1 avril 2017 - Modifié le 1 avril 2017 à 13:09
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 1 avril 2017 à 13:23
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.

 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

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
1 avril 2017 à 13:23
Bonjour,

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;
}
0