Erro leitura da matriz - ajuda a padawan de JAVA

1 resposta
ane007

Oi galera eu tenho um programa que apresenta o erro
exception in thread “main” java.lang.ArrayIndexOutOfBoundsException:

o erro é na leitura da matriz do código.

int [][] salao = new int [linhas][colunas];

for (int a = 1; a <= linhas; a++){

for (int b= 1; b <=colunas; b++){

salao [a][b] = sc.nextInt(); <strong>erro nessa linha</strong>

eu tentei ler a matriz com length, mas da erro tbm… da um help por favor T_T

1 Resposta

Fefo80

Troque por isso:

for (int a = 0; a < linhas; a++) {
        for (int b = 0; b < colunas; b++) {
            System.out.print("Digite a posição [" + (a+1) + "][" + (b+1) + "] da matriz: ");
            salao[a][b] = sc.nextInt();

A matriz começa em 0, e você vai até ANTES da última posição (a < linhas) porque se correr até a última (a <= linhas), como ela começa em zero, vai sair dos limites (out of bounds).

Criado 29 de julho de 2021
Ultima resposta 29 de jul. de 2021
Respostas 1
Participantes 2