ArrayIndexOutOfBoundsException em uma matriz

gente eu tenho o seguinte código:

public void setHorario(Materia materia, int[]dias, int[]horarios){
         for(int i=0; i<dias.length; i++){
             for(int k=0; k<horarios.length; k++){
                 tabelaGrade[dias[i]][horarios[k]]= materia.getNome()+" "+ materia.getTurma();
             }
         }
     }

onde dias é um vetor {2,5}
e horarios é um vetor {1,3}

mas tah dando Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 2
na linha :

tabelaGrade[dias[i]][horarios[k]]= materia.getNome()+" "+ materia.getTurma();

Alguém pode me ajudar?

o que é esta tabelaGrade?

ela deve ser no mínimo um array[5,3] pra rodar…
obs: 5 e 3 são os valores máximos dos vetores de dias e horários respectivamente…

Ainda assim achei o código meio estranho…

private String tabelaGrade[][] = new String [3][5]; //3 linhas e 5 colunas