Java矩阵程序

时间:2020-02-23 14:37:20  来源:igfitidea点击:

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

Java矩阵

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

Java矩阵程序

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

1.加两个矩阵

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

package com.theitroad.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] = 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] = 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&#039;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] = first[r] + second[r];
			}
		}

		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] + "\t");
			}
			System.out.println();
		}
	}
}

加两个矩阵

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] = first[r] - second[r];
		}
	}

	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] = first[r] * second[r];
		}
	}

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