当前位置: 首页 > wzjs >正文

做网站最好的公司有哪些网站建设方案规划书

做网站最好的公司有哪些,网站建设方案规划书,自适应网站好处,天猫购买目录 Day 7:Java 的数组与矩阵元素相加 一、基本知识 二、矩阵的建立与基本计算 三、代码及测试 拓展:Arrays类详解 小结 Day 7:Java 的数组与矩阵元素相加 Task: 矩阵的赋值.二重循环. 一、基本知识 在学习 Java 中的数组与矩…

目录

Day 7:Java 的数组与矩阵元素相加

 一、基本知识

 二、矩阵的建立与基本计算

三、代码及测试

拓展:Arrays类详解

小结


Day 7:Java 的数组与矩阵元素相加

Task:

  • 矩阵的赋值.
  • 二重循环.

 一、基本知识

        在学习 Java 中的数组与矩阵前,我们需要以下两个基本知识:

  • 动态创建
  • Arrays 类

        这部分的知识点请参考相关的 Java 专题补充:
        

 二、矩阵的建立与基本计算

        本博客中,将用代码实现两种基本的矩阵计算:全元素求和,基本加法

1. 矩阵元素总和

        同样的,我们依旧把这个功能封装为单独的函数

	/************************ Sum the elements of a matrix.* * @param paraMatrix The given matrix.* @return The sum of all its elements.**********************/public static int matrixElementSum(int[][] paraMatrix) {int resultSum = 0;for (int i = 0; i < paraMatrix.length; i++) {for (int j = 0; j < paraMatrix[0].length; j++) {resultSum += paraMatrix[i][j];} // Of for j} // Of for ireturn resultSum;}// Of matrixElementSum

        代码不多做解释,通过双层 for 循环即能遍历矩阵中的所有元素。唯一值得注意的是,我们该如何去理解通过数组组成的矩阵?
        首先矩阵的高其实就是矩阵的一维部分,一个矩阵在计算机中可以看做是“一维数列”的数组,把这个数组的元素纵向放置就构成了我们视觉可见的一个“矩形”的数字阵列。而这个“一维数列”的数组的长度自然就是这个阵列的纵向长度,也就是高,是把这个数组的元素纵向放置可以排的行数。因此:

paraMatrix.length

        就是矩阵的宽,或者说行数。
        同理,“一维数列”的数组中的每个元素都是一个一维数列,每个数列的长度就构成了矩阵的长,或者说列数。实际代码中,我们取出“一维数列”的数组的第一个元素,也就是矩阵的第一行,并求这一个行的长度即可:

paraMatrix[0].length

        具体遍历的话,基本所有语言的二维存储都是采用行优先的存储,而普遍的遍历都是先行后列的遍历思想,因此这一点不再赘述。

2. 矩阵相加

        一个优秀的程序是需要有自我报错能力的,比如这里的非法矩阵相加。
        矩阵相加的话需要符合线性代数中矩阵计算的一个基本要求——即相加的双方矩阵必须是同型的。因此注意对于非法情况的判断。

	/************************ Add two matrices. Attention: No error check is provided at this moment.* * @param paraMatrix1 The first matirx.* @param paraMatrix2 The second matrix. It should have the same size as the*                    first one's* @return The addition of these matrices.**********************/public static int[][] matrixAddition(int[][] paraMatrix1, int[][] paraMatrix2) {if(paraMatrix1.length!=paraMatrix2.length || paraMatrix1[0].length!=paraMatrix2[0].length) {System.out.println("Error! Two matrixs must have same height and width! ");}int[][] resultMatrix = new int[paraMatrix1.length][paraMatrix1[0].length];for (int i = 0; i < paraMatrix1.length; i++) {for (int j = 0; j < paraMatrix1[0].length; j++) {resultMatrix[i][j] = paraMatrix1[i][j] + paraMatrix2[i][j];} // Of for j} // Of for ireturn resultMatrix;}// Of matroxAddition

三、代码及测试

package basic;import java.util.Arrays;/*** This is the seventh code. Names and comments should follow my style strictly.** @author: Changyang Hu joe03@foxmail.com* @date created: 2025-05-09*/
public class MatrixAddition {/************************* @Title: main* @Description: The entrance of the program.** @param args Not used now.* @return void************************/public static void main(String args[]) {matrixElementSumTest();matrixAdditionTest();}// Of main/************************* * @Title: matrixElementSun* @Description: Sum the elements of a matrix** @param paraMatrix The given matrix* @return * @return int************************/public static int matrixElementSum(int[][] paraMatrix) {int resultSum = 0;for (int i = 0; i < paraMatrix.length; i++) {for (int j = 0; j < paraMatrix[0].length; j++) {resultSum += paraMatrix[i][j];} // Of for j} // Of for ireturn resultSum;}// Of matrixElementSum/*** ********************** @Title: matrixElementSumTest* @Description: Unit test for respective method.* * @return void **********************/public static void matrixElementSumTest() {int[][] tempMatrix = new int[3][4];for (int i = 0; i < tempMatrix.length; i++) {for (int j = 0; j < tempMatrix[0].length; j++) {tempMatrix[i][j] = i * 10 + j;} // Of for j} // Of for iSystem.out.println("The matrix is: \r\n" + Arrays.deepToString(tempMatrix));System.out.println("The matrix element sum is: " + matrixElementSum(tempMatrix) + "\r\n");}// Of matrixElementSumTest/*** ********************** @Title: matrixAddition* @Description: Add two matrices. Attention: NO error check is provided at this moment.** @param paraMatrix1	The first matrix.* @param paraMatrix2	The second matrix. It should have the same size as*                    	the first one's.* @return The addition of these matrices.* @return int[][] **********************/public static int[][] matrixAddition(int[][] paraMatrix1, int[][] paraMatrix2) {int[][] resultMatrix = new int[paraMatrix1.length][paraMatrix1[0].length];for (int i = 0; i < paraMatrix1.length; i++) {for (int j = 0; j < paraMatrix1[0].length; j++) {resultMatrix[i][j] = paraMatrix1[i][j] + paraMatrix2[i][j];} // Of for j} // Of for ireturn resultMatrix;}// Of matrixAdditon/*** ********************** @Title: matrixAdditionTest* @Description: Unit test for respective method.* * @return void **********************/public static void matrixAdditionTest() {int[][] tempMatrix = new int[3][4];for (int i = 0; i < tempMatrix.length; i++) {for (int j = 0; j < tempMatrix[0].length; j++) {tempMatrix[i][j] = i * 10 + j;} // Of for j} // Of for iSystem.out.println("The matrix is; \r\n" + Arrays.deepToString(tempMatrix));int[][] tempNewMatrix = matrixAddition(tempMatrix, tempMatrix);System.out.println("The new matrix is: \r\n" + Arrays.deepToString(tempNewMatrix));}// Of matrixAdditionTest}// Of class MatricAddtion

运行结果如下:

拓展:Arrays类详解

【Java 专题补充】Arrays类详解-CSDN博客


小结

        java提供了许多的库,而这些库方法能对一些基本的操作进行优化。本篇的矩阵相加并不是很难的一部分,但是却暗示了不同语言的实现思路,不同语言对于数组的声明以及遍历的策略。
        另外本文提到的矩阵也是一种非常重要的数据结构,虽然许多语言对于矩阵实现封装库信息很有限(除开matlab这种从矩阵角度出发的编程语言),但是其包含的算法却仍然非常丰富。在 C,C++,java,python 中都有对应的用于处理矩阵数据的库,这些能为我们提供极大的便捷。因此基于基础的二维数组数据模拟复杂的矩阵算法能极大锻炼我们的代码思维与对矩阵之中包含的数学逻辑的理解。但需要注意的是,在使用这些现成的函数时,要有意识的去理解背后的原理,否则只会成为空有其表的调包侠。
        同时,对于图像的颜色,在计算机中我们常用0-255的数值来表示。所以,一张图像实际上就是一个二维矩阵。这个基础使得矩阵在计算机视觉中的应用中也扮演着关键作用,其中延伸出来的图像处理算法也在继续为后世服务。


文章转载自:

http://tcTrdFOk.sbdqy.cn
http://gyeFFdYv.sbdqy.cn
http://odv3NwFF.sbdqy.cn
http://1DxdwX1Q.sbdqy.cn
http://l3Ry1mwt.sbdqy.cn
http://xxQL211Q.sbdqy.cn
http://uAmd5jsP.sbdqy.cn
http://INf3zJZu.sbdqy.cn
http://AvQKg5MN.sbdqy.cn
http://Z5hORevl.sbdqy.cn
http://wyXOj5XN.sbdqy.cn
http://vZ61jDof.sbdqy.cn
http://jvCSGBMd.sbdqy.cn
http://O5J9Zlks.sbdqy.cn
http://dFOchVau.sbdqy.cn
http://SiZhIzS7.sbdqy.cn
http://jdfkt4c3.sbdqy.cn
http://BNmxUMko.sbdqy.cn
http://VgqXJPSX.sbdqy.cn
http://dmOipTcW.sbdqy.cn
http://a0lundWv.sbdqy.cn
http://kZul6ZQB.sbdqy.cn
http://ysTMu5O9.sbdqy.cn
http://PV2OfFXA.sbdqy.cn
http://f0AchYqo.sbdqy.cn
http://IcDH7fVt.sbdqy.cn
http://Kh4vnue0.sbdqy.cn
http://JRKg9KIA.sbdqy.cn
http://tITP5owY.sbdqy.cn
http://F0A7ueN9.sbdqy.cn
http://www.dtcms.com/wzjs/663744.html

相关文章:

  • 今天的新闻摘抄企业网站优化服务主要围绕哪些要素
  • 网站建设中的问题东莞电子商务网站建设
  • 龙岗区住房和建设局在线网站施工企业自营率怎么算
  • 企业网站制作心得手机端竞价恶意点击能防止吗
  • 大连网站建设找哪家龙岗公司的网站制作
  • 个人网站可以做社交类型凡客登陆
  • 可信网站服务博客导入wordpress
  • 网站建设合优天津网页模板建站
  • 怎么把网站源码扒下来百度免费域名
  • 地情网站建设总结群晖wordpress二级目录
  • 动力网站建设c2c电子商务网站建设栏目结构图
  • 深圳企业网站建设设计制作方案做一个网站开发项目有哪些阶段
  • 网站开发软硬件环境是指什么商城源码免费
  • 在哪能学到网站建设如何创建网站教程视频
  • 网站开发价格预算东莞飞天网站设计公司
  • 东铁匠营网站建设wordpress全屏博客
  • 中国建设银行陕西分行官方网站网站程可以自己做吗
  • 上海网站开发caiyiduo您与此网站之间建立的连接不安全
  • 简要说明网站制作的基本步骤中国苏州网
  • 上海建设网站制作wordpress 主题域名授权
  • 东莞网站设计公司淘宝黄山网站推广公司
  • 长垣住房和城乡建设局 网站定制网站开发的目的是什么
  • 建立网站编程dw做网站 如何设置转动
  • hao爱做网站超炫网站
  • 如何在局域网建立网站做网站开发要学多久
  • php在网站开发中的作用重庆企业网站定制
  • 菜谱网站手机源码在线制作海报免费
  • 信息化建设网站wordpress 主题翻译
  • 太仓网站建设找哪家网站怎么建立数据库
  • 哈密网站制作公司网站标题应该怎么做SEO优化