编写程序题, 根据要求编写一个Java类,补充到代码中。 定义Matrix(矩阵)类,使用二维数组实现矩阵,实现两个矩阵的乘法。要求如下:

  1. 4个变量:row(行数),column(列数), matrix( int型二维数组),reader( Scanner对象)。
  2. 根据程序需求定义构造方法。
  3. inputMatrix方法:从键盘读入一个矩阵,读入行数和列数,创建矩阵,然后读入元素值方法。
  4. multiply方法:两个矩阵相乘,并返回乘积矩阵。
    (两个矩阵的乘法:一个m×n的矩阵a(m,n)乘一个n×p的矩阵b(n,p),会得到一个m×p的矩阵c(m,p)。矩阵的行数和列数自定。)

方法声明:

public static Matrix inputMatrix(); //从键盘读入一个矩阵,并返回矩阵
Matrix multiply(Matrix mat); //两个矩阵相乘,并返回乘积矩阵。

裁判测试程序样例:

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Matrix firstMat=Matrix.inputMatrix();
Matrix secondMat=Matrix.inputMatrix();
//display(firstMat.matrix); display(secondMat.matrix);
Matrix productMat=firstMat.multiply(secondMat);
display(productMat.matrix);
}
//display方法:打印二维数组元素到屏幕
public static void display(int[][] array){
for(int i=0; i<array.length; i++){
for(int j=0; j<array[i].length; j++){
if(j==array[i].length-1) {
System.out.println(array[i][j]);
}
else {
System.out.print(array[i][j]+" ");
}
}
}
}
}
/* 请在这里填写答案 */

输入样例:

2 2
1 2
3 4
2 2
2 3
4 5

输出样例:

在这里给出相应的输出。例如:

10 13
22 29

class Matrix{int row,column;int matrix[][];static Scanner reader=new Scanner(System.in);static Matrix inputMatrix() {Matrix mat = new Matrix();mat.row=reader.nextInt();mat.column=reader.nextInt();mat.matrix=new int [mat.row][mat.column];for(int i=0;i<mat.row;++i) {for(int j=0;j<mat.column;++j) {mat.matrix[i][j]=reader.nextInt();}}return mat;}Matrix multiply(Matrix B) {int columnB=B.matrix[0].length;Matrix ans =new Matrix();ans.matrix=new int[row][columnB];for(int i=0;i<row;++i) {for(int j=0;j<columnB;++j) {for(int k=0;k<column;++k) {ans.matrix[i][j]+=matrix[i][k]*B.matrix[k][j];}}}return ans;}
}

6-2 编写Matrix类,使用二维数组实现矩阵,实现两个矩阵的乘法。 (30分) java pta相关推荐

  1. 利用二维数组(double[])实现一个矩阵类:Matrix。要求提供以下方法:(1)set(int row, int col, double value):将第row行第col列的元素赋值为valu

    利用二维数组(double[])实现一个矩阵类:Matrix.要求提供以下方法:(1)set(int row, int col, double value):将第row行第col列的元素赋值为valu ...

  2. c# 怎样从bitmap初始化image类_C#二维数组初始化概括(新手篇)

    群友反馈的一个问题: 运行报错: 这个主要是数组定义的有问题,二维数组初始化:如下这样 string[,] aaa = new string[10, 10]; 其次得确保data在截取Substrin ...

  3. python课程设计矩阵对角线之和_Python二维数组实现求出3*3矩阵对角线元素的和示例...

    Python二维数组实现求出3*3矩阵对角线元素的和示例 题目:求一个3*3矩阵对角线元素之和. 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出. def two_dime ...

  4. c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵

    //二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...

  5. Arrays工具类和二维数组

    一.数组的更多内容 1.1 Arrays工具类 JDK提供的java.util.Arrays工具类,包含了常用的数组操作,方便我们日常开发.Arrays类包含了:排序.查找.填充.打印内容等常见的操作 ...

  6. java上三角数组_二维数组的三角填充 两种java实现的方法

    类似这种: 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9 认为第二种方法简单还是第一种方法简单直接决定了你的水平. package test; /** * 二维数组 三角填充 ...

  7. 二维数组中的查找(两种解法,各有千秋)

    凡事都有可能,永远别说永远.--<放牛班的春天> 今天一题为再一个行列都有序的二维数组中寻找一个目标值,我们第一时间想到的可能是很暴力的解法,例如从头到尾进行遍历,这样能做出来,但是借用武 ...

  8. python螺旋打印二维数组_Python使用迭代器打印螺旋矩阵的思路及代码示例

    import itertools def spiral(n,m): _status = itertools.cycle(['right','down','left','up'])#用于状态周期性的切换 ...

  9. php 两个二维数组对比,php比较两二维数组求大神指教

    如: $grade = Array ( [0] => Array ( [course_name] => 大学英语(综合)-1 [course_strid] => College En ...

最新文章

  1. python datetime timedelta函数_Python Pandas DatetimeIndex.to_perioddelta()用法及代码示例
  2. Codevs 3134 Circle
  3. MOCTF-Web-还是水题
  4. Android build.gradle(app)介绍
  5. java中不能定义为变量名称_Java,“变量名”不能解析为变量
  6. RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN驱动+CANopen协议
  7. 2017.8.17实操总结
  8. python的opencv库_Python使用OpenCV
  9. 力扣—— 295. 数据流的中位数(困难)
  10. Atitit. 构造ast 语法树的总结attilax oao
  11. chrome扩展程序安装_如何在Windows上删除“由企业策略安装”的Chrome扩展程序
  12. 产品文档 | PRD写作手册
  13. Pytorch学习笔记——Momentum
  14. git 上查找一行代码的提交记录
  15. Web前端和后端的异同
  16. Android 4.4 kitkat以上及以下根据uri获取路径的方法
  17. spacy中en_core_web_sm安装问题
  18. P1827 [USACO3.4] 美国血统 American Heritage
  19. php imap 库_php imap_open 实例教程
  20. AndroidStudio 制作一个超简易记账本App(1.0)【含详细步骤】

热门文章

  1. HDU 1846 Brave Game 巴什博弈 SG打表
  2. IT架构师介绍-软件架构设计学习第一天(非原创)
  3. 开机动画适配方案_高通平台刷机包定制方案适配-ROM定制开发入门到精通
  4. 什么要使用克隆、如何实现克隆对象、序列化与反序列实现克隆的好处、深拷贝与浅拷贝
  5. 华为5G小基站拆解:美国零部件占比仅剩1%
  6. 山区灭火机器人_中国小伙研发灭火机器人,还获得25项国家专利,6个月赚400多亿...
  7. 更听话的温室大棚系统-阿里云ioT Studio实现动态业务逻辑
  8. [课设]烟台大学课程表app
  9. office VBA 用户窗体 控件 单元格 参数的用法与注解
  10. remote: The project you were looking for could not be found. 解决git clone不下来的方法之一