Die Multiplikation von 2d-arrays(Matrizen) in java

Mein Ziel ist, drucken Sie die Matrix, wenn die beiden arrays miteinander multipliziert werden. Was mache ich falsch an diesem code? Wie bekomme ich es so, dass es druckt die matrix? (Sorry, ich weiß nicht, was andere details, die ich sollte und ich kann nicht senden Sie diese posten, wenn ich weitere Details hinzufügen).

public class Matrices {
static int mRows = 0;
static int mCol = 0;
static int nRows = 0;
static int nCol = 0;
 public static int[][] multiplyMatrices(int[][] m, int[][] n){
    mRows = m.length;
    mCol = m[0].length;
    nRows = n.length;
    nCol = n[0].length;
    if(canBeMultiplied(m,n) == false){
        throw new IllegalArgumentException("Cannot multiply arrays");
    }
    int[][] answer = new int[mRows][nCol];
    for(int i = 0; i < mRows; i++){
        for(int j = 0; j < nCol; j++){
            for(int k = 0; k < mCol; k++){
                answer[i][j] += m[i][k] * n[k][j];
            }
        }
    }
    return answer;
}

public static boolean canBeMultiplied(int[][] m, int[][]n){
    mRows = m.length;
    mCol = m[0].length;
    nRows = n.length;
    nCol = n[0].length;
    if(nRows == mCol){
        return true;
    }
    return false;
}

public static void main(String[] args) {
    int[][] temp1 = {{1,2,3},{4,5,6}};
    int[][] temp2 ={{1},{2},{3}};
    for(int i = 0; i < mRows; i++){
        for(int j = 0; j < nCol; j++){
            System.out.print(multiplyMatrices(temp1,temp2)[i][j]);
        }
                    System.out.print("\n");
    }

}
}

Vielen Dank für Ihre Hilfe.

InformationsquelleAutor user2268448 | 2013-04-11
Schreibe einen Kommentar