展开全部
lz 你好
这种纯粹是数学问题 搞清楚线代中矩阵乘积的过32313133353236313431303231363533e4b893e5b19e31333332616532程 就能编出来
以下是我帮你写的代码
(
ps:有两个方法multi() 用单个变量保存元素的值
multiInArray() 用数组保存元素的值 这种方式是为了你好懂乘积的过程
运行结果都是一样的 只是保存方式
)
import java.util.*;
public class ArrayMulti{
private int[][] _array = new int[3][3];
public void input(){
Scanner in = new Scanner(System.in);
System.out.println ("输入一个3*3的矩阵:");
for (int i = 0; i
for(int j = 0; j
_array[i][j] = in.nextInt();
}
}
}
public void multi(){//变量形式
int index = 0;//记录矩阵乘积的每一个元素
System.out.println ("该矩阵的乘积为:");
for (int k = 0; k
for(int i = 0; i
for (int j = 0; j
index += _array[i][j] * _array[j][k];
}
System.out.printf ("%-4d",index);//输出每一个矩阵乘积的元素
index = 0;//重新置0 进行下一个元素的计算
}
System.out.println ();//换行
}
}
/*public void multiInArray(){//数组形式
int[][] result = new int[3][3];
System.out.println ("该矩阵的乘积为:");
for (int k = 0; k
for(int i = 0; i
for (int j = 0; j
result[i][k] += _array[i][j] * _array[j][k];
//计算每一个元素的值 这个其实就是线代中的公式 [i][j] * [j][k] --> [i][k]
}
}
}
for (int i = 0; i
for(int j = 0; j
System.out.printf("%-4d",result[i][j]);
}
System.out.println();
}
}*/
public static void main (String[] args) {
ArrayMulti am = new ArrayMulti();
am.input();
am.multi();//调用变量形式的方法
}
}
运行结果:
输入一个3*3的矩阵:
1 1 1
2 2 2
3 3 3
该矩阵的乘积为:
6 12 18
6 12 18
6 12 18
希望能帮助你哈