题目:java.输入两个矩阵,并求两个矩阵相乘所得到的矩阵
分析:简单的java数组的应用题。
1.注意手动输入矩阵的行列数和值,Java创建数组可以使用变量;
2.不盲目直接进行计算,算法最先检查两个数组的行列数是否满足相乘条件,检验可行性;
3.使用强化for循环
import java.util.Scanner;
public class CreatArry{
public static void main(String[] args){
Scanner reader = new Scanner(System.in);
System.out.println("请输入arry1的行数和列数:");//输入
int n1=reader.nextInt();
int m1=reader.nextInt();
System.out.println("请输入arry2的行数和列数:");
int n2=reader.nextInt();
int m2=reader.nextInt();
int[][] arry1=new int[n1][m1];//创建数组二维矩阵
int[][] arry2=new int[n2][m2];
System.out.println("请输入arry1的数据:");//输入数据
for(int i=0;i<arry1.length;i++){
for(int j=0;j<arry1[0].length;j++){
arry1[i][j]=reader.nextInt();
}
}
System.out.println("请输入arry2的数据:");
for(int i=0;i<arry2.length;i++){
for(int j=0;j<arry2[0].length;j++){
arry2[i][j]=reader.nextInt();
}
}
System.out.println("arry1的数据为:");//输出数据
for(int[] a: arry1){
for(int b:a){
System.out.printf("%5d",b);
}
System.out.println();
}
System.out.println("arry2的数据为:");
for(int[] a: arry2){
for(int b:a){
System.out.printf("%5d",b);
}
System.out.println();
}
if(arry1[0].length!=arry2.length)
System.out.println("两个矩阵不能相乘!");
else{
int[][] newarry=new int[arry1.length][arry2[0].length];
System.out.println("两个矩阵的乘积为:");
for(int i=0;i<arry1.length;i++){
for(int j=0;j<arry2[0].length;j++){
newarry[i][j]=0;
for(int k=0;k<arry1[0].length;k++){
newarry[i][j]=newarry[i][j]+arry1[i][k]*arry2[k][j];
}
}
}
for(int[] a: newarry){
for(int b:a){
System.out.printf("%5d",b);
}
System.out.println();
}
}
}
}