2 回答
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
1. Matrix MatrixMul(Matrix ma1, Matrix ma2) //乘法
{
Matrix matrix_mul = new Matrix();
matrix_mul.m = ma1.m;
這里邊的Matrix matrix_mul = new Matrix();聲明的是一個(gè)局部變量,只在方法內(nèi)部有效,方法調(diào)用完之后會(huì)釋放,不會(huì)有什么返回結(jié)果的吧。我覺得Matrix matrix_mul = new Matrix();放到方法外邊比較好。
2. 還有就是main里邊的代碼都粘全了么?如果粘全了的話,那ma1和ma2是在哪里聲明的呢?如果調(diào)用的是Matrix MatrixMul(Matrix ma1, Matrix ma2)里邊的話,那也不對吧,他們都是形參只在聲明的方法內(nèi)部有效,外部方法不能調(diào)用的。不知道這個(gè)數(shù)組越界的錯(cuò)誤是怎么報(bào)出來的。
TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
for(int j = 0; j < matrix_mul.n; i++)這里你忘了把i改成j。
第二個(gè)沒有給matrix_mul.array = new int[matrix_mul.m][matrix_mul.n],這個(gè)數(shù)組初始化,在main函數(shù)里輸出結(jié)果應(yīng)該都是0;
MatrixMul方法,這個(gè)方法的算法是:二維數(shù)組里某個(gè)元素的值等于這個(gè)元素的列值乘以這個(gè)元素的行值然后進(jìn)行相加賦給這個(gè)元素。
添加回答
舉報(bào)
