java 第七周

来源:互联网 发布:淘宝临期化妆品真假 编辑:程序博客网 时间:2024/05/17 15:58
/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称:                              * 作    者:   姜雅明                              * 完成日期:   2012  年  10  月  11  日* 版 本 号:   2.0       * 对任务及求解方法的描述部分* 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束*/
/* 5.封装一类矩阵对象,该类对象具有初始化矩阵的功能、修改矩阵元素的功能。 */public class Matrix {private int row;  //矩阵的行数private int column;  //矩阵的列数private int [][] a;  Matrix(int row, int column){this.row = row;this.column = column;a = new int [row][column];  //为矩阵开辟空间int i = 0, j = 0; for(i = 0; i < row; i++){for(j = 0; j < column; j++){a[i][j] = 1;        //矩阵元素赋初值}}}public void display()  //输出矩阵{int i = 0, j = 0;for(i = 0; i < this.row; i++)  //开始用的row,但是出错。在之前加入了a = new [row][column],这样,赋初值就无用了。{for(j = 0; j < this.column; j++){System.out.print(a[i][j] + " ");}System.out.println();}}public void change(int row, int column, int x) //修改矩阵元素{a[row][column] = x;}public void setRow(int row)  //设置矩阵行数{this.row = row;a = new int [row][column];  //重新开辟空间}public void setColumn(int column) //设置矩阵列数{this.column = column;a = new int [row][column];}public int getRow() {return row;}public int getColumn() {return column;}public Matrix add(Matrix b)   //矩阵相加{if(a.length == b.row && a[1].length == b.column){Matrix c = new Matrix(b.row, b.column);for(int i = 0; i < c.row; i++){for(int j = 0; j < c.column; j++){c.a[i][j] = a[i][j] + b.a[i][j];}}return c;}else{System.out.println("sorry!!");return b;       //必须要返回,不知道应该怎么办了···}}public static void main(String[] args) {// TODO Auto-generated method stubMatrix m = new Matrix(2, 2);m.setRow(3);m.setColumn(3);m.change(0, 0, 3);m.display();Matrix a = new Matrix(3,3);Matrix b = new Matrix(3,3);Matrix c = new Matrix(3,3);a.change(1, 1, 2);c = a.add(b);c.display();}}

矩阵相加,不知道该怎么办了·····必须要返回,但是不能相加要返回什么呢,还是要用void类型?