shawn.bug 2008-11-08 21:03
浏览 220
已采纳

出了这个异常,帮忙看下。

package test;

public class Matrix {

private int rows; // 行   
private int cols; // 列   
private double[][] data; // 数据   

public Matrix() {   
}   

// 构造方法   
public Matrix(int M, int N) {   
    this.rows = M;   
    this.cols = N;   
    data = new double[M][N];   
}   

public Matrix(int rows, int cols, double data[][]) {   
    this.rows = rows;   
    this.cols = cols;   
    this.data = data;   
}   

public double getData(int row, int col) {   
    return data[row][col];   
}   

public void setData(int row, int col, double value) {   
    data[row][col] = value;   
}   

// 两个矩阵相乘   
public Matrix multiply(Matrix B) {   
    Matrix A = this;   
    if (A.cols != B.rows)   
        throw new RuntimeException("Illegal matrix dimensions.");   
    Matrix C = new Matrix(A.rows, B.cols);   
    for (int i = 0; i < C.rows; i++)   
        for (int j = 0; j < C.cols; j++)   
            for (int k = 0; k < A.cols; k++)   
                C.data[i][j] += (A.data[i][k] * B.data[k][j]);   
    return C;   
}   

// 打印矩阵到控制台   
public void show() {   
    for (int i = 0; i < rows; i++) {   
        for (int j = 0; j < cols; j++)   
            System.out.printf("%9.4f ", data[i][j]);   
        System.out.println();   
    }   
}   

@Override  
public String toString() {   
    return "共有" + rows + "行," + cols + "列";   
}   
public static void main(String[] argv) {   

    double x[][] = { { 3, 2, 3 }, { 5, 9, 8 }, };   
    Matrix m = new Matrix(3, 2, x);   
    double y[][] = { { 4, 7 }, { 9, 3 }};   
    Matrix m1 = new Matrix(2, 2, y);  
    System.out.println(m.multiply(m1));   

}   

}

[color=red]Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at test.Matrix.multiply(Matrix.java:43)
at test.Matrix.main(Matrix.java:72)[/color]

帮忙写下测试,和输出打印,谢谢。

  • 写回答

2条回答 默认 最新

  • iteye_521 2008-11-08 21:19
    关注

    你丫偷了我的代码 :lol:
    [url]http://www.iteye.com/problems/6477[/url]
    这段代码明明是我的,为啥那个帖子中把分给别人了,做人要厚道 :shock:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源