Java 中的矩阵程序

2023-11-08

矩阵是一个矩形数组。元素按行和列排列。在本教程中,我们将了解一些 Java 矩阵程序。

矩阵的图形表示

Matrix
Matrix

Java 中的矩阵

我们可以使用矩阵来实现Java中的二维数组。可以使用索引“array[r][c]”访问行“r”和列“c”的元素。

Java 中的矩阵程序

由于我们使用二维数组来创建矩阵,因此我们可以轻松地对其元素执行各种操作。在本教程中,我们将学习如何根据用户输入创建矩阵。然后我们将对两个矩阵进行加、减、乘,并将结果矩阵打印在控制台上。

1. 两个矩阵相加

这是根据用户输入填充两个矩阵的简单程序。然后将其相应索引处的元素相加即可得到矩阵的相加。最后,我们将打印矩阵的总和。

package com.journaldev.examples;

import java.util.Scanner;

public class MatrixPrograms {

	public static void main(String[] args) {
		System.out.println("Please enter the rows in the matrix");
		Scanner sc = new Scanner(System.in);
		int row = sc.nextInt();
		System.out.println("Please enter the columns in the matrix");
		int column = sc.nextInt();

		int[][] first = new int[row][column];
		int[][] second = new int[row][column];

		for (int r = 0; r < row; r++) {
			for (int c = 0; c < column; c++) {
				System.out.println(String.format("Enter first[%d][%d] integer", r, c));
				first[r][c] = sc.nextInt();
			}
		}

		for (int r = 0; r < row; r++) {
			for (int c = 0; c < column; c++) {
				System.out.println(String.format("Enter second[%d][%d] integer", r, c));
				second[r][c] = sc.nextInt();
			}
		}

		// close the scanner
		sc.close();

		// print both matrices
		System.out.println("First Matrix:\n");
		print2dArray(first);

		System.out.println("Second Matrix:\n");
		print2dArray(second);

		// sum of matrices
		sum(first, second);
	}

	// below code doesn't take care of exceptions
	private static void sum(int[][] first, int[][] second) {
		int row = first.length;
		int column = first[0].length;
		int[][] sum = new int[row][column];

		for (int r = 0; r < row; r++) {
			for (int c = 0; c < column; c++) {
				sum[r][c] = first[r][c] + second[r][c];
			}
		}

		System.out.println("\nSum of Matrices:\n");
		print2dArray(sum);
	}

	private static void print2dArray(int[][] matrix) {
		for (int r = 0; r < matrix.length; r++) {
			for (int c = 0; c < matrix[0].length; c++) {
				System.out.print(matrix[r][c] + "\t");
			}
			System.out.println();
		}
	}
}
Matrix programs in Java
Adding Two Matrices

2. 两个矩阵相减

这是从第一个矩阵中减去第二个矩阵元素然后打印结果矩阵的函数。

private static void subtract(int[][] first, int[][] second) {
	int row = first.length;
	int column = first[0].length;
	int[][] sum = new int[row][column];

	for (int r = 0; r < row; r++) {
		for (int c = 0; c < column; c++) {
			sum[r][c] = first[r][c] - second[r][c];
		}
	}

	System.out.println("\nSubtraction of Matrices:\n");
	print2dArray(sum);
}

3. 两个矩阵相乘

下面的方法将矩阵元素相乘并打印结果矩阵。

private static void multiply(int[][] first, int[][] second) {
	int row = first.length;
	int column = first[0].length;
	int[][] sum = new int[row][column];

	for (int r = 0; r < row; r++) {
		for (int c = 0; c < column; c++) {
			sum[r][c] = first[r][c] * second[r][c];
		}
	}

	System.out.println("\nMultiplication of Matrices:\n");
	print2dArray(sum);
}

参考:维基百科

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中的矩阵程序 的相关文章

随机推荐

  • 如何在 CentOS 7 上使用 Apache 安装和配置 Nextcloud

    下一云是一个开源 自托管的文件共享和协作平台 类似于 Dropbox 它捆绑了媒体播放器 日历和联系人管理 Nextcloud 可通过应用程序进行扩展 并拥有适用于所有主要平台的桌面和移动客户端 本教程将引导您完成在 CentOS 7 系统
  • Linux ifconfig 命令

    ifconfig 界面配置 是一个网络管理工具 它用于配置和查看Linux操作系统中网络接口的状态 和ifconfig 您可以分配 IP 地址 启用或禁用接口 管理 ARP 缓存 路由等 在本文中 我们将探讨如何使用ifconfig命令 如
  • Linux 中的差异命令

    diff是一个命令行实用程序 允许您逐行比较两个文件 它还可以比较目录的内容 The diff命令最常用于创建包含一个或多个文件之间差异的补丁 可以使用patch命令 如何使用diff命令 语法为diff命令如下 diff OPTION F
  • Bash 退出命令和退出代码

    通常 在编写 Bash 脚本时 您需要在满足特定条件时终止脚本或根据命令的退出代码采取操作 在本文中 我们将介绍 Bashexit内置命令和已执行命令的退出状态 退出状态 每个 shell 命令在成功或失败终止时都会返回退出代码 按照约定
  • 如何在 Vim / Vi 中搜索

    本文介绍如何在 Vim Vi 中执行搜索操作 Vim 或其前身 Vi 预装在 macOS 和大多数 Linux 发行版上 搜索文本是处理文件时最常见的任务之一 当您遇到您最喜欢的编辑器不可用的情况时 了解 Vim 的基础知识可能会非常有用
  • 如何在 Ubuntu 22.04 上安装 Tomcat 10

    本文介绍如何在 Ubuntu 22 04 上安装和配置 Tomcat 10 Apache Tomcat 是一个开源 Web 服务器和 Java Servlet 容器 它是构建基于 Java 的网站和应用程序的最流行的选择之一 Tomcat
  • 如何在 Debian 10 Linux 上更改主机名

    本教程介绍如何在 Debian 10 Buster 上更改主机名而不重新启动系统 主机名是在安装 Debian 操作系统时设置的 或者如果您正在启动虚拟机 则主机名会在启动时动态分配给实例 先决条件 为了能够更改系统主机名 您需要以 roo
  • 如何在 Debian 10 Linux 上安装 Java

    在本教程中 我们将解释如何在 Debian 10 Linux 上安装 Java OpenJDK Java 是最流行的编程语言之一 用于构建不同类型的应用程序和系统 用 Java 开发的应用程序具有可扩展性 灵活性和可维护性 在你开始之前 J
  • 如何在 Ubuntu 18.04 上安装 PyCharm

    PyCharm是一个功能齐全的 IDEPython和网络开发 它具有内置的调试支持 Docker and Vagrant支持 嵌入式Git控制 Anaconda支持 语法高亮 代码完成 ssh终端 代码重构和丰富的导航功能 PyCharm
  • Linux 中的 apt 命令

    apt是一个命令行实用程序 用于在 Ubuntu Debian 和相关 Linux 发行版上安装 更新 删除和以其他方式管理 deb 软件包 它结合了最常用的命令apt get and apt cache某些选项的默认值不同的工具 apt专
  • 如何在 Debian 10 上安装 CouchDB

    Apache CouchDB 是由 Apache 软件基金会开发的免费开源 NoSQL 数据库 它可以用作单节点或集群数据库 CouchDB 服务器将其数据存储在命名数据库中 其中包含具有以下内容的文档JSON结构 每个文档由许多字段和附件
  • ​如何将 Debian 9 Stretch 升级到 Debian 10 Buster

    经过两年多的开发 新的 Debian 稳定版本 代号 Buster 的 Debian 10 于 2019 年 7 月 6 日发布 并将支持 5 年 此版本附带了大量新软件包和主要软件升级 Debian 10 buster 附带 Linux
  • 如何在 CentOS 8 上安装 GCC(开发工具)

    GNU 编译器集合 GCC 是 C C Objective C Fortran Ada Go D 编程语言 很多开源项目 包括Linux内核和GNU工具 都是使用GCC编译的 本文介绍如何在 CentOS 8 上安装 GCC 在 CentO
  • 你应该知道的 Nginx 命令

    Nginx 发音为 engine x 是一个免费 开源 高性能的 HTTP 和反向代理服务器 负责处理互联网上一些最大网站的负载 它可以用作独立的 Web 服务器 也可以用作反向代理适用于 Apache 和其他 Web 服务器 如果您是开发
  • 如何在 Linux 中挂载和卸载文件系统

    在 Linux 和 UNIX 操作系统上 您可以使用mount用于在目录树中的特定安装点附加 安装 文件系统和可移动设备 例如 USB 闪存驱动器 的命令 The umount命令从目录树中分离 卸载 已安装的文件系统 在本教程中 我们将介
  • 如何在 JavaScript 中使用 Switch 语句

    介绍 条件语句是所有编程语言中最有用和最常见的功能之一 如何在 JavaScript 中编写条件语句描述了如何使用if else and else if关键字根据不同的条件控制程序的流程 在 JavaScript 中通常是用户输入的结果 此
  • 如何生成带校验和的资源标识符

    作者选择了免费开源基金接受捐赠作为为捐款而写程序 介绍 唯一标识符 UID 或身份标识 可以是字符串值或整数 API 开发人员经常使用它们来寻址 API 中的唯一资源 然后 API 使用者使用这些标识符从资源集合中获取单个资源 如果没有唯一
  • 如何在 Debian 11 上安装和使用 Composer

    介绍 Composer是一个流行的 PHP 依赖管理工具 创建主要是为了方便项目依赖的安装和更新 Composer 的工作原理是检查特定项目所依赖的其他软件包 然后根据项目需求使用适当的版本为您安装它们 Composer 还常用于引导基于流
  • 如何编写您的第一个 Ruby 程序

    介绍 你好 世界 程序是计算机编程中经典且历史悠久的传统 对于初学者来说 这是一个小而完整的第一个程序 并且是确保正确配置环境的好方法 本教程将引导您完成用 Ruby 创建该程序 但是 为了使程序更有趣 您将修改传统的 Hello Worl
  • Java 中的矩阵程序

    矩阵是一个矩形数组 元素按行和列排列 在本教程中 我们将了解一些 Java 矩阵程序 矩阵的图形表示 Matrix Java 中的矩阵 我们可以使用矩阵来实现Java中的二维数组 可以使用索引 array r c 访问行 r 和列 c 的元