要求:程序运行后要求用户分别输入两个矩阵的行数和列数,然后判断两个矩阵是否可以相乘,如果可以相乘,则计算矩阵相乘后的结果,并按矩阵的格式输出;若不能相乘,则提示用户矩阵不相容,并退出程序。

提示:一个2行3列的矩阵可以用一个二维数组表示:int matrixA[2][3]。此外,必须要知道什么是矩阵相乘。矩阵相乘的概念如下图所示:

代码块如下:

/*** * @author 芳芳**/
import java.util.Scanner;public class matrixMultiplication {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);//定义三个行列不超过20的矩阵int[][] matrix1 = new int[20][20];int[][] matrix2 = new int[20][20];int[][] matrix3 = new int[20][20];System.out.println("Please input the lines and rows of the two matrices in order");System.out.println("the line of matrix1:");int m1 = scanner.nextInt();System.out.println("the row of matrix1:");int n1 = scanner.nextInt();System.out.println("the line of matrix2:");int m2 = scanner.nextInt();System.out.println("the row of matrix2:");int n2 = scanner.nextInt();if(m1 == n2) {//判断两个矩阵是否可以相乘System.out.println("please input the numbers of matrix1");//读入matrix1的数for(int i = 0;i < m1;i++) {for(int j = 0;j < n1;j++) {matrix1[i][j] = scanner.nextInt();}}System.out.println("please input the numbers of matrix2");//读入matrix2的数for(int i = 0;i < m1;i++) {for(int j = 0;j < n1;j++) {matrix2[i][j] = scanner.nextInt();}}//作两个矩阵的乘法for(int i = 0;i < m1;i++) {for(int j = 0;j < n2;j++) {matrix3[i][j] = matrix1[i][j]*matrix2[j][i];}}//输出结果System.out.println("The result of multiplication of these two matrices is");for(int i = 0;i < m1;i++) {for(int j = 0;j < n2;j++) {System.out.print(matrix3[i][j]+" ");}System.out.println();}}else {//不能相乘则提示System.out.println("These two matrices cannot be multiplied!!!");}}}

当两个矩阵能相乘时运行结果如下:

当两个矩阵不能相乘时运行结果如下:

编写程序完成矩阵的乘法运算相关推荐

  1. Java黑皮书课后题第8章:***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵。程序提示用户输入矩阵的行数。然后显示最大的子方阵的第一个元素、行数

    ***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵.程序提示用户输入矩阵的行数.然后显示最大的子方阵的第一个元素.行数 题目 题目描述与运行示例 破题 代 ...

  2. Java黑皮书课后题第8章:**8.14(探讨矩阵)编写程序,提示用户输入一个方阵的长度,随机地在矩阵中填入0和1,打印这个矩阵,然后找出整行、整列或者对角线都是1或0的行、列和对角线

    **8.14(探讨矩阵)编写程序,提示用户输入一个方阵的长度,随机地在矩阵中填入0和1,打印这个矩阵,然后找出整行.整列或者对角线都是1或0的行.列和对角线 题目 题目描述与运行示例 破题 代码 题目 ...

  3. 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出。...

    编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 题目描述 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 输入描述 编写程序输入一个5x5的矩阵 ...

  4. 矩阵转置算法 oracle,请编写程序fun,函数的功能是:实现B=A+Aˊ,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函...

    请编写程序fun,函数的功能是:实现B=A+Aˊ,即把矩阵A加上A的转置,存放在矩阵B中.计算结果在main函 更多相关问题 假定砌块对孔砌筑,孔内不灌实混凝土,柱头全截面设一预制刚性垫块,且梁端有效 ...

  5. matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...

    导航:网站首页 > 求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.* 求Matlab程序:在2行矩阵中,如何求 ...

  6. 本题要求编写程序,求一个给定的m×n矩阵各行元素之和。

    本题要求编写程序,求一个给定的m×n矩阵各行元素之和. 输入格式: 输入第一行给出两个正整数m和n(1≤m,n≤6).随后m行,每行给出n个整数,其间 以空格分隔. 输出格式: 每行输出对应矩阵行元素 ...

  7. 练习:编写程序判断当前系统状态

    ============================================================================================= 201311 ...

  8. c语言二维数组输入数据,c语言编写程序,把下面的数据输入到一个二维数组中:...

    c语言编写程序,把下面的数据输入到一个二维数组中: 答案:3  信息版本:手机版 解决时间 2019-10-07 01:08 已解决 2019-10-06 03:19 1. 编写程序,把下面的数据输入 ...

  9. 【c语言作业-二维数组】编写程序,求一个给定的n阶方阵的鞍点。

    [问题描述] 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点. [输入形式] 输入第一行给出一个正整数n(1≤ ...

最新文章

  1. c++运算符优先级_C语言入门教程-(6)运算符
  2. SQLite数据库损坏与修复
  3. oracle导入中文数据出现乱码
  4. ASP.NET(c#)如何判断浏览器是否支持cookies
  5. JavaScript-遍历数组
  6. PAT 1031 查验身份证
  7. WINDOWS 下将 FAT OR FAT32 转换成 NTFS 格式
  8. Java开发笔记(一百四十三)FXML布局的基本格式
  9. 建筑能源管理系统主要有什么功能?
  10. PyQt5教程(七)——实现QQ登录界面(一、Qt Designer创建界面,Eric6创建项目)
  11. linux的cpu使用率100%?
  12. 测度、线性赋范空间、内积空间
  13. AWS KVS(Kinesis Video Streams)之WebRTC集成过程(六)
  14. Python入门到实践(上)(牛客网题库)day2
  15. RPA教学——键盘输入技巧
  16. Html中的边框弧边,CSS边框属性一---border-radius
  17. 注解详解和Spring注解增强(基础内功)
  18. 人工智能期末复习4.专家系统
  19. OpenJDK System.loadLibrary源码剖析
  20. swift篇 基础知识5 -- 字符串(String)和字符(character)

热门文章

  1. 精彩回顾 | 一张图读懂OPPO应用与数据安全防护
  2. 用宝塔配置PHP环境
  3. uniapp热更新,告别云打包
  4. async await异步
  5. php explode 整数,PHP explode()函数用法总结
  6. 荆雪艳软件工程第一次作业
  7. 帝国cms7.5内核自适应导航站模板制作教程记录
  8. 【R语言】-核密度估计图绘制
  9. 精益数据分析 - 第8章 商业模式一:电子商务
  10. 体验新理财方式:余额宝与微信理财