java 第七周

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* 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 stub
		Matrix 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类型?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值