Boa noite!
Estou fazendo um projeto de POTA para semana que vem, porem tenho que organizar os dados dentro da matriz, e estou utilizando o metodo de organização COUNT, porém estou tendo um erro muito chato de java.lang.ArrayIndexOutOfBoundsException. Segui esse link [Problema com .length em matriz [resolvido]] para tentar corrigir o erro, porém ele continua ali firme e forte :[
Esse é o meu código, e ele só acontece quando vai ler o quinto for (ainda não aprendi a debugar que nem gente, então ainda uso msgs hehe)
import java.util.Random;
public class Principal {
public static void main(String[] args) {
int matriz[][] = new int[500][50];
CountSort c = new CountSort();
Random rand = new Random();
for (int a = 0; a < 500; a++) {
for (int b = 0; b < 50; b++) {
matriz[a][b] = rand.nextInt(10000);
}
}
for (int a = 0; a < 500; a++) {
for (int b = 0; b < 50; b++) {
System.out.print(matriz[a][b] + " ");
}
System.out.println("");
}
try {
count(matriz, 0, 0);
} catch (Exception e) {
System.out.println("Erro " + e);
}
}
public static void count(int[][] vetor, int m, int n) {
int counter[][] = new int[m + 1][n + 1];
for (int i = 0; i < counter[0].length; i++) {
System.out.println("Rodou 1 for");
for (int ix = 0; ix < counter[0].length; ix++) {
System.out.println("Rodou 2 for");
counter[i][ix] = 0;
}
}
for (int i = 0; i < vetor.length; i++) {
System.out.println("Rodou 3 for");
for (int ix = 0; ix < vetor[0].length; ix++) {
System.out.println("Rodou 4 for");
counter[vetor[i][ix]][vetor[i][ix]]++;
}
}
int ndx = 0;
int mdx = 0;
for (int i = 0; i < counter.length; i++) {
System.out.println("Rodou 5 for");
for (int ix = 0; ix < counter[0].length; ix++) {
System.out.println("Rodou 6 for");
while (counter[i][ix] > 0) {
vetor[ndx++][mdx++] = i;
vetor[ndx++][mdx++] = ix;
counter[i][ix]--;
}
}
}
}
}
Agradeço desde já qualquer luz que vocês possam me dar!