Java中的矩阵程序

矩阵是一个矩形数组,其中元素按照行和列进行排列。在本教程中,我们将会看一些用Java编写的矩阵程序。

矩阵的图形化呈现

Matrix

使用Java编写的矩阵

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

在Java中的矩阵程序

因为我们使用二维数组来创建矩阵,所以可以很容易地对其元素进行各种操作。在本教程中,我们将学习如何从用户输入创建矩阵。然后,我们将对两个矩阵进行加法、减法和乘法运算,并在控制台上打印结果矩阵。

1. 矩阵相加

这是一个简单的程序,用来从用户输入中填充两个矩阵。然后,将它们在相应索引位置的元素相加,得到矩阵的和。最后,我们将打印出这两个矩阵的和。

package com.Olivia.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

2. 两个矩阵相减 gè

这里是一个函数,用来将第二个矩阵的元素从第一个矩阵中减去,并打印结果矩阵。

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);
}

参考来源:维基百科

广告
将在 10 秒后关闭
bannerAds