数组java代码

上传人:小** 文档编号:56859399 上传时间:2018-10-16 格式:DOC 页数:10 大小:40.50KB
返回 下载 相关 举报
数组java代码_第1页
第1页 / 共10页
数组java代码_第2页
第2页 / 共10页
数组java代码_第3页
第3页 / 共10页
数组java代码_第4页
第4页 / 共10页
数组java代码_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《数组java代码》由会员分享,可在线阅读,更多相关《数组java代码(10页珍藏版)》请在金锄头文库上搜索。

1、public class Matrix /矩阵类private int element; /存储矩阵元素的二维数组public Matrix(int m, int n) /构造mn零矩阵this.element=new intmn; /数组元素初值为0/若m或n为负数,Java将抛出负数组长度异常NegativeArraySizeExceptionpublic Matrix(int n) /构造nn零方阵this(n,n); public Matrix(int m, int n, int mat) /构造mn矩阵,由mat提供元素this(m, n);for (int i=0; imat.le

2、ngth i+) /mat元素不足时补0,忽略多余元素for (int j=0; jmati.length j+)this.elementij = matij;public int get(int i, int j) /返回矩阵第i行第j列元素值,O(1)return this.elementij; /若i、j下标越界,Java将抛出数组下标越界异常ArrayIndexOutOfBoundsExceptionpublic void set(int i, int j, int value) /设置矩阵第i行第j列的元素值为value,O(1)this.elementij=value;public

3、 String toString() /返回矩阵所有元素的描述字符串,行主序遍历String str=“ 矩阵“+this.getClass().getName()+“(“+this.element.length+“+this.element0.length+“):n“;for (int i=0; ithis.element.length; i+)for (int j=0; jthis.elementi.length; j+)str += String.format(“%4d“, this.elementij);str += “n“;return str;/当前矩阵与mat矩阵相加,this+

4、=mat,各对应元素相加;改变当前矩阵public void add(Matrix mat)if (this.element.length!=mat.element.length | this.element0.length!=mat.element0.length)throw new IllegalArgumentException(“两个矩阵阶数不同,不能相加“); /抛出无效参数异常for (int i=0; ithis.element.length; i+)for (int j=0; jthis.elementi.length; j+)this.elementij += mat.ele

5、mentij;/习题5public Matrix(Matrix mat) /深拷贝this(mat.element.length, mat.element0.length, mat.element);/返回当前矩阵与mat相加后的矩阵,不改变当前矩阵,=this+mat,各对应元素相加public Matrix plus(Matrix mat)Matrix matc=new Matrix(this); /深拷贝matc.add(mat);return matc; /返回对象引用 public boolean equals(Object obj) /比较两个同阶矩阵是否相等if (this=ob

6、j)return true;if (!(obj instanceof Matrix)return false;Matrix mat=(Matrix)obj;if (this.element.length!=mat.element.length | this.element0.length!=mat.element0.length)return false;for (int i=0; ithis.element.length; i+)for (int j=0; jthis.elementi.length; j+)if (this.elementij!=mat.elementij) /比较对应元素

7、是否相等return false;return true;public Matrix transpose() /返回当前矩阵的转置矩阵Matrix trans = new Matrix(this.element0.length, this.element.length);/构造零矩阵for (int i=0; ithis.element.length; i+)for (int j=0; jthis.elementi.length; j+)trans.elementji=this.elementij; return trans; /返回对象引用public boolean isUpTriangu

8、lar() /判断当前矩阵是否为上三角矩阵if (this.element.length!=this.element0.length)return false;for (int i=0; ithis.element.length; i+)for (int j=0; ji; j+)if (this.elementij!=0) /下三角元素应为0return false;return true;public boolean isDownTriangular() /判断当前矩阵是否为下三角矩阵if (this.element.length!=this.element0.length)return f

9、alse;for (int i=0; ithis.element.length; i+)for (int j=i+1; jthis.element.length; j+)if (this.elementij!=0) /上三角元素应为0return false;return true;public boolean isSymmetric() /判断当前矩阵是否为对称矩阵if (this.element.length!=this.element0.length)return false;for (int i=0; ithis.element.length; i+)for (int j=0; jthis.elementi.length; j+)if (this.elementij!=this.elementji)return false;return true; /*不支持以下默认构造方法,必须指定行列数public Matrix() /默认构造方法,构造1010空矩阵,初值为0this(10,10);int Matrix:saddlePoint() /返回鞍点值*/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号