value.java

来自「用java求行列式的值,不过行列式必须在程序中给出,大家可以根据此去些修改.」· Java 代码 · 共 55 行

JAVA
55
字号
import java.math.*;

public class value {
	private double[][] arrangerMatrix;

	private double arrangerResult = 1.0;

	

	public void arrFunction(double[][] a) {//Guass 消去
		double k = 0;
		for (int p = 0; p < a[0].length - 1; p++) {
			for (int r = p + 1; r < a.length; r++) {
				k = a[r][p] / a[p][p];
				a[r][p] = 0;
				for (int c = p + 1; c < a[0].length; c++) {
					a[r][c] = a[r][c] - k * a[p][c];
				}//u
			}//r
		}//c
		arrangerMatrix = new double[a.length][a[0].length];
		for (int i = 0; i < a.length; i++) {
			for (int j = 0; j < a[0].length; j++) {
				arrangerMatrix[i][j] = a[i][j];
				if (i == j) {
					arrangerResult = arrangerResult * a[i][j];
				}//计算主对角线相乘的结果
				//System.out.println (a[i][j]+" ");
			}//j
		}//i
	}

	public void displayMatrix() {
		for (int i = 0; i < arrangerMatrix.length; i++) {
			for (int j = 0; j < arrangerMatrix[0].length; j++) {
				System.out.print(arrangerMatrix[i][j] + " ");
			}//j 
			System.out.println();
		}//i
	}

	public void displayResult() {
		System.out.println("The result is " + arrangerResult);
	}
	public static void main(String args[]) {
		double[][] a = { { 4, 1 }, { 1, 1 } };

		value ar = new value();
		ar.arrFunction(a);//把行列式变成上三角行列式
		ar.displayMatrix();//显示得出的上三角行列式
		ar.displayResult(); //显示行列式计算结果   
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?