shawn.bug 2008-11-13 17:03
浏览 206
已采纳

在这基础上加点东西。

public class Matrix {

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

public Matrix() {
    this(0,0);
}   

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

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 IllegalArgumentException("矩阵不匹配!");  

    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.print("     "+data[i][j]);   
        System.out.println();   
    }   
}   
public String toString() {   
  //  return "相乘后的矩阵共有 " + rows + " 行," + cols + "列 ";   
     StringBuffer s = new StringBuffer();   

     int rows = data.length;   
     int cols = data[0].length;   

     s.append("Matrix[" + rows + "][" + cols + "] = " + "\n");   
     for (int i = 0; i < rows; i++) {   

         for (int j = 0; j < cols; j++)   
             s.append(" " + data[i][j] + " ");   
         s.append("\n");   
     }   
     s.append("\n");   
     return s.toString();  
}   

}

编写MatrixTest类。在该类中通过键盘输入方式确定所要创建的两个矩阵的行列数,根据行列数随机生成数据或键盘输入,并通过setData方法生成矩阵的内容。

  • 写回答

1条回答 默认 最新

  • iteye_14081 2008-11-13 18:33
    关注

    这个题目还没打住???

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器