Matrice et Arraylist

euphina Messages postés 6 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
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

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    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