编写程序完成矩阵的乘法运算
要求:程序运行后要求用户分别输入两个矩阵的行数和列数,然后判断两个矩阵是否可以相乘,如果可以相乘,则计算矩阵相乘后的结果,并按矩阵的格式输出;若不能相乘,则提示用户矩阵不相容,并退出程序。
提示:一个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!!!");}}}
当两个矩阵能相乘时运行结果如下:
当两个矩阵不能相乘时运行结果如下:
编写程序完成矩阵的乘法运算相关推荐
- Java黑皮书课后题第8章:***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵。程序提示用户输入矩阵的行数。然后显示最大的子方阵的第一个元素、行数
***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵.程序提示用户输入矩阵的行数.然后显示最大的子方阵的第一个元素.行数 题目 题目描述与运行示例 破题 代 ...
- Java黑皮书课后题第8章:**8.14(探讨矩阵)编写程序,提示用户输入一个方阵的长度,随机地在矩阵中填入0和1,打印这个矩阵,然后找出整行、整列或者对角线都是1或0的行、列和对角线
**8.14(探讨矩阵)编写程序,提示用户输入一个方阵的长度,随机地在矩阵中填入0和1,打印这个矩阵,然后找出整行.整列或者对角线都是1或0的行.列和对角线 题目 题目描述与运行示例 破题 代码 题目 ...
- 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出。...
编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 题目描述 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 输入描述 编写程序输入一个5x5的矩阵 ...
- 矩阵转置算法 oracle,请编写程序fun,函数的功能是:实现B=A+Aˊ,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函...
请编写程序fun,函数的功能是:实现B=A+Aˊ,即把矩阵A加上A的转置,存放在矩阵B中.计算结果在main函 更多相关问题 假定砌块对孔砌筑,孔内不灌实混凝土,柱头全截面设一预制刚性垫块,且梁端有效 ...
- matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...
导航:网站首页 > 求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.* 求Matlab程序:在2行矩阵中,如何求 ...
- 本题要求编写程序,求一个给定的m×n矩阵各行元素之和。
本题要求编写程序,求一个给定的m×n矩阵各行元素之和. 输入格式: 输入第一行给出两个正整数m和n(1≤m,n≤6).随后m行,每行给出n个整数,其间 以空格分隔. 输出格式: 每行输出对应矩阵行元素 ...
- 练习:编写程序判断当前系统状态
============================================================================================= 201311 ...
- c语言二维数组输入数据,c语言编写程序,把下面的数据输入到一个二维数组中:...
c语言编写程序,把下面的数据输入到一个二维数组中: 答案:3 信息版本:手机版 解决时间 2019-10-07 01:08 已解决 2019-10-06 03:19 1. 编写程序,把下面的数据输入 ...
- 【c语言作业-二维数组】编写程序,求一个给定的n阶方阵的鞍点。
[问题描述] 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点. [输入形式] 输入第一行给出一个正整数n(1≤ ...
最新文章
- c++运算符优先级_C语言入门教程-(6)运算符
- SQLite数据库损坏与修复
- oracle导入中文数据出现乱码
- ASP.NET(c#)如何判断浏览器是否支持cookies
- JavaScript-遍历数组
- PAT 1031 查验身份证
- WINDOWS 下将 FAT OR FAT32 转换成 NTFS 格式
- Java开发笔记(一百四十三)FXML布局的基本格式
- 建筑能源管理系统主要有什么功能?
- PyQt5教程(七)——实现QQ登录界面(一、Qt Designer创建界面,Eric6创建项目)
- linux的cpu使用率100%?
- 测度、线性赋范空间、内积空间
- AWS KVS(Kinesis Video Streams)之WebRTC集成过程(六)
- Python入门到实践(上)(牛客网题库)day2
- RPA教学——键盘输入技巧
- Html中的边框弧边,CSS边框属性一---border-radius
- 注解详解和Spring注解增强(基础内功)
- 人工智能期末复习4.专家系统
- OpenJDK System.loadLibrary源码剖析
- swift篇 基础知识5 -- 字符串(String)和字符(character)