[RESOLVIDO] Dúvida ao pegar ao segunda matriz para multiplicar

Boa tarde pessoal.

Estou com um seguinte problema, preciso fazer a multiplicação entre duas matrizes e fiz esse código, olhei exemplos na net mas estou com dúvidas ainda

public int[][] produtoMatrizes(int[][] matrizNova) {
    int[][] auxMatriz = new int[matriz.length][matriz.length];
    

    for (int linhas = 0; linhas < auxMatriz.length; linhas++) {
        for (int colunas = 0; colunas < auxMatriz[linhas].length; colunas++) {
            for (int posAux = 0; posAux < matriz[linhas].length; posAux++) {
                auxMatriz[linhas][colunas] += matriz[linhas][posAux] * matrizNova[posAux][colunas];
            }

        }
    }
    return auxMatriz;
}

e um para adicionar uma matriz nova que desejo multiplicar

public int[][] adicionaMatrizNova() {
    int menorValor = -9;
    int maiorValor = 9;
    Random valor = new Random();
   
    for (int linhas = 0; linhas < matriz.length; linhas++) {
        for (int colunas = 0; colunas < matriz[linhas].length; colunas++) {
           matriz[linhas][colunas] = valor.nextInt(3) + 1;     //(maiorValor - menorValor + 1) + menorValor; //gerar valores negativos e positivos
        }
    }
    return matriz;


}

e retornar ela embaixo da matriz gerado inicialmente

public String dados2() {
    StringBuilder saida = new StringBuilder("\n"); //StringBuilder consome menos memória
    for (int l = 0; l < matrizProduto.length; l++) {
        for (int c = 0; c < matrizProduto[l].length; c++) {
            saida.append(matrizProduto[l][c]);
            saida.append("\t");
        }
        saida.append("\n");

    }
    return saida.toString();
}

}

Na execução do programa o usuário informa a quantidade de linhas e colunas da matriz, e faz outros métodos que tem no programa, quando clicar em multiplicar matrizes é solicitado uma nova matriz
fiz

   private void jBMultiplicarMatrizActionPerformed(java.awt.event.ActionEvent evt) {                                                    
    int [][] novaMatriz = objMatriz.adicionaMatrizNova();
    int colunas = 0;
    int linhas = 0;

    linhas = Integer.parseInt(JOptionPane.showInputDialog(this, "Informe um valor para linhas", "Manipula Matriz", 0));
    if (linhas <= 1) {
        JOptionPane.showMessageDialog(this, "Informe um valor válido para linhas", "Manipula Matriz", 0);

        return;
    }

    colunas = Integer.parseInt(JOptionPane.showInputDialog(this, "Informe um valor para colunas", "Manipula Matriz", 0));

    if (colunas <= 1) {
        JOptionPane.showMessageDialog(this, "Informe um valor válido para colunas", "Manipula Matriz", 0);

        return;
    }

    objMatriz2 = new MatrizDeInteiros(linhas, colunas);



    
    jTAResultado.setText("\nOs valores da matriz original" + objMatriz.dados() + "\nOs valores da matriz nova: \n" + objMatriz2.dados2() + "\nA resposta dessa multiplicação é: \n" + objMatriz.imprimeMatriz(objMatriz.produtoMatrizes(novaMatriz)));

Queria pelo saber o que está faltando no método de multiplicar matrizes, é ele que está dando erro

Resta saber qual o erro que está sendo apresentado… Que tal nos dizer?

Opa depois de tanto pensar consegui resolver

   public int[][] produtoMatrizes(int[][] matrizNova) {
    int[][] auxMatriz = new int[matriz.length][matrizNova[0].length];


    for (int linhas = 0; linhas < matriz.length; linhas++) {
        for (int colunas = 0; colunas < matrizNova[0].length; colunas++) {
            for (int posAux = 0; posAux < matriz[0].length; posAux++) {
                auxMatriz[linhas][colunas] += (matriz[linhas][posAux] * matrizNova[posAux][colunas]);
            }

        }
    }
    return auxMatriz;
}
1 curtida