Olá, pessoal!
Estou com dificuldade em resolver um exercício da faculdade em que
preciso gerar uma matriz na qual o usuário informe as dimensões. Depois
preciso preenchê-la com valores que o usuário vai informar. Quando
executo o programa, ele dá ArrayIndexOutOfBoundException quando vai
percorrer as colunas. Conseguem me ajudar a ver o que posso estar
fazendo de errado?
import java.util.Scanner;
public class SomaDasDiagonais {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[][] matriz;
int[] tamanho = new int[2];
int soma = 0, i, j, n, m;
for(i = 0; i < 2; i++){
n = i + 1;
System.out.println("Informe a " + n + "ª dimensão da matriz:");
tamanho[i] = s.nextInt();
}
matriz = new int[tamanho[0]][tamanho[1]];
for(i = 0; i < matriz.length; i++){
n = i + 1;
System.out.println(n);
for(j = 0; j < matriz[tamanho[0]].length; j++){
m = j = 1;
System.out.println("Informe o valor de " + n + "." + m +
" na matriz:");
matriz[i][j] = s.nextInt();
}
}
s.close();
i = 0;
j = 0;
while(i < matriz.length && j < matriz[tamanho[1]].length){
soma += matriz[i][j];
i++;
j++;
}
i = 0;
j = (matriz[tamanho[i]].length - 1);
while(i < matriz.length && j > 0){
soma += matriz[i][j];
i++;
j--;
}
System.out.println("A soma das diagonais principal e secundária é " + soma);
}
Obrigado desde já, pessoal!