Java 中的矩阵程序

矩阵是一个直角数组. 元素排列在行和列中. 在本教程中,我们将看看Java中的一些矩阵程序。

矩阵图形表示

Matrix

Java中的矩阵

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

Java 中的 Matrix 程序

由于我们正在使用两维数组来创建一个矩阵,我们可以轻松地对其元素执行各种操作. 在本教程中,我们将学习如何从用户输入中创建一个矩阵。

1、添加两个矩阵

这里是从用户输入中填充两个矩阵的简单程序,然后在相应的索引中添加其元素,以获得矩阵的添加。

 1package com.journaldev.examples;
 2
 3import java.util.Scanner;
 4
 5public class MatrixPrograms {
 6
 7    public static void main(String[] args) {
 8    	System.out.println("Please enter the rows in the matrix");
 9    	Scanner sc = new Scanner(System.in);
10    	int row = sc.nextInt();
11    	System.out.println("Please enter the columns in the matrix");
12    	int column = sc.nextInt();
13
14    	int[][] first = new int[row][column];
15    	int[][] second = new int[row][column];
16
17    	for (int r = 0; r < row; r++) {
18    		for (int c = 0; c < column; c++) {
19    			System.out.println(String.format("Enter first[%d][%d] integer", r, c));
20    			first[r][c] = sc.nextInt();
21    		}
22    	}
23
24    	for (int r = 0; r < row; r++) {
25    		for (int c = 0; c < column; c++) {
26    			System.out.println(String.format("Enter second[%d][%d] integer", r, c));
27    			second[r][c] = sc.nextInt();
28    		}
29    	}
30
31    	// close the scanner
32    	sc.close();
33
34    	// print both matrices
35    	System.out.println("First Matrix:\n");
36    	print2dArray(first);
37
38    	System.out.println("Second Matrix:\n");
39    	print2dArray(second);
40
41    	// sum of matrices
42    	sum(first, second);
43    }
44
45    // below code doesn't take care of exceptions
46    private static void sum(int[][] first, int[][] second) {
47    	int row = first.length;
48    	int column = first[0].length;
49    	int[][] sum = new int[row][column];
50
51    	for (int r = 0; r < row; r++) {
52    		for (int c = 0; c < column; c++) {
53    			sum[r][c] = first[r][c] + second[r][c];
54    		}
55    	}
56
57    	System.out.println("\nSum of Matrices:\n");
58    	print2dArray(sum);
59    }
60
61    private static void print2dArray(int[][] matrix) {
62    	for (int r = 0; r < matrix.length; r++) {
63    		for (int c = 0; c < matrix[0].length; c++) {
64    			System.out.print(matrix[r][c] + "\t");
65    		}
66    		System.out.println();
67    	}
68    }
69}

Matrix programs in Java

二、抽出两个矩阵

以下是从第一个矩阵中提取第二个矩阵元素,然后打印结果矩阵的函数。

 1private static void subtract(int[][] first, int[][] second) {
 2    int row = first.length;
 3    int column = first[0].length;
 4    int[][] sum = new int[row][column];
 5
 6    for (int r = 0; r < row; r++) {
 7    	for (int c = 0; c < column; c++) {
 8    		sum[r][c] = first[r][c] - second[r][c];
 9    	}
10    }
11
12    System.out.println("\nSubtraction of Matrices:\n");
13    print2dArray(sum);
14}

3、两种矩阵的倍增

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

 1private static void multiply(int[][] first, int[][] second) {
 2    int row = first.length;
 3    int column = first[0].length;
 4    int[][] sum = new int[row][column];
 5
 6    for (int r = 0; r < row; r++) {
 7    	for (int c = 0; c < column; c++) {
 8    		sum[r][c] = first[r][c] * second[r][c];
 9    	}
10    }
11
12    System.out.println("\nMultiplication of Matrices:\n");
13    print2dArray(sum);
14}

参考: [维基百科](https://en.wikipedia.org/wiki/Matrix_(mathematics)

Published At
Categories with 技术
Tagged with
comments powered by Disqus