Java.lang.ArrayIndexOutOfBoundsException

salut , j'ai une exception de type java.lang.ArrayIndexOutOfBoundsException mais je sais pas ou est le probleme!!!

int i, j, ligne, k =0, colonne;
        String MotClé, message;
        Scanner sc = new Scanner(System.in);

        System.out.println("saisir le mot clé");
        MotClé = sc.nextLine();
        System.out.println("saisez votre message");
        message = sc.nextLine();

        colonne = MotClé.length();
        ligne = (message.length() / (int) colonne)+2;//((chaine.length()%longueur)-1);

        char tab[][] = new char[colonne][ligne];
        
        
        for (j = 0; j < colonne; j++) {
            tab[0][j] = MotClé.charAt(j);
        }
        for (i = 1; i < ligne; i++) {
            for (j = 0; j < colonne; j++) {
                if (k < message.length()) {
                    tab[i][j] = message.charAt(k);
                        k++;
                }
                    else 
                 tab[i][j]=' ';
               
            }
        }
        for (i = 0; i < ligne; i++) {
            for (j = 0; j < colonne; j++) {
                System.out.print(tab[i][j]+"\t");
            }
            System.out.print("\n");
        }
    }
}

3 réponses

  1. Pas de bonjour, pas de s'il vous plait, tu crois qu'on est des robots ou pire.. des esclaves ?

    Bon courage pour trouver de l'aide avec si peu de politesse.
    1. je suis tres desolée, je parle pas bien le français c'est pourquoi il parait ke je suis impolie .. en tous les cas merciii
  2. Modérateur
    Tu as fait new char[colonne][ligne], mais tu l'utilises en tab[i][j] avec i<ligne et j<colonne, il faut évidemment faire l'inverse.