Não estou conseguindo passar esse exercício por parâmetro

Bom dia pessoal! (eu sou iniciante no Java e preciso de ajuda)

Eu me deparei com esse problema aqui. Eu fiz ele todo, só não conseguir passar por parâmetro. Alguém pode me ajudar? Como que eu faço para passar por parâmetro? Teria como fazer de outra forma? Se sim, como ficaria?

Fazer um programa em Java que leia uma matriz de no máximo 10 linhas por 10 colunas e que faça a multiplicação dessas matrizes. A multiplicação das matrizes deve ser feita em uma sub-rotina com passagem das matrizes por parâmetro. O programa deve solicitar do usuário a ordem das matrizes antes de lê-las e checar se as matrizes podem ser multiplicadas (pesquisar qual o pré-requisito para a multiplicação de matrizes) e caso as ordens digitadas não esteja de acordo informar ao usuário e solicitar novamente ou oferecer uma forma para que o usuário não execute o programa.

identar texto pre-formatado em 4 espaços



public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    
    int linhasA=0, linhasB=0, colunasA=0, colunasB=0, somatoria;
    
    boolean ok = false;
    int continuar = 1;
    
    
    while(ok == false && continuar == 1 ) {
    //entrada de dados (dimensoes das matrizes)
    System.out.print("Digite a quantidade de linhas da matriz A: ");
    linhasA = sc.nextInt();
    
    System.out.print("Digite a quantidade de colunas da matriz A: ");
    colunasA = sc.nextInt();
    
    System.out.print("Digite a quantidade linhas de da matriz B: ");
    linhasB = sc.nextInt();
    
    System.out.print("Digite a quantidade de colunas da matriz B: "); 
    colunasB = sc.nextInt();
        //analisa se as dimensoes digitadas sao validas
        if(linhasA < 11 && linhasB < 11 && colunasA < 11 && colunasB < 11) {
                 
            if(linhasA == colunasB && linhasB == colunasA) {
                ok = true;
                System.out.println("\nValores aceitos"); 
                    } else {
                        System.out.println("\nAs dimensões das matrizes informadas são invalidas!\nElas não podem ser multiplicadas entre si!");
                        System.out.print("\nPor favor presione 1 para digitar novamente ou 0 para encerrar o programa\n=> ");
                        continuar = sc.nextInt();
                }
            } else { // linhasA < 11 && linhasB < 11 && colunasA < 11 && colunasB < 11
                    System.out.println("O tamanho exerdeu o limite, no maximo 10 linhas por 10 colunas");
                    System.out.print("\nPor favor presione 1 para digitar novamente ou 0 para encerrar o programa\n=> ");
                    continuar = sc.nextInt();
                }
    
    }
    
    int[][] matrizA = new int[linhasA][colunasA];
    int[][] matrizB = new int[linhasB][colunasB];
    //entrada de dados (atribui valor na matriz A)
    System.out.println("\n__________Matriz A__________");
    for(int linha = 0; linha < linhasA; linha++) {
        for(int coluna = 0; coluna < colunasA; coluna++) {
            System.out.print("Digite o elemento da limha " + (linha +1) + " coluna " + (coluna +1) + " : ");
            matrizA[linha][coluna] = sc.nextInt();
        }
    }
    //entrada de dados (atribui valor na matriz B)
    System.out.println("\n__________Matriz B__________");
    for(int linha = 0; linha < linhasB; linha++) {
        for(int coluna = 0; coluna < colunasB; coluna++) {
            System.out.print("Digite o elemento da linha " + (linha +1) + " coluna " + (coluna +1) + " : ");
            matrizB[linha][coluna] = sc.nextInt();
        }
    }
    
    //ESTA PARTE PRECISA SER PASSADA POR PARAMETRO
    //produto de AXB
    int[][] produtoMatriz = new int[linhasA][colunasB];
    
    
    for(int i = 0; i < linhasA; i++) {
        for(int j = 0; j < colunasB; j++) {
            somatoria = 0;
            for(int k = 0; k < matrizA[0].length; k++) {
                int produto = matrizA[i][k] * matrizB[k][j];
                somatoria += produto;
            }
            produtoMatriz[i][j] = somatoria;
        }
    }
    //exibi produto do array 
    System.out.println("\nProduto das matrizes AxB");
    for(int linha = 0; linha < linhasA; linha++ ) {
        for(int coluna = 0; coluna < colunasB; coluna++ ) {
            System.out.println("Limha " + (linha +1) + " coluna " + (coluna +1) + " : " + produtoMatriz[linha][coluna]);
            
        }
    }
}
int[][] multiplicar (int[][] a, int[][] b) {
    int[][] result = new int[a.length][b[0].length];
    // logica para multiplicar
    return result;
}

main () {
    ...
    int [][] produto = multiplicar(a, b);
    ...
}
1 curtida

Tópico duplicado, estou fechando. Por favor não duplique os tópicos.

1 curtida