java矩阵类_java矩阵类,矩阵的乘法
問題如下
我采用的是3重循環(huán),先計算的列的結(jié)果,應(yīng)該還可以先計算行的結(jié)果,然后求出矩陣的乘法。沒有過多的技巧,就是循環(huán)的使用。
相關(guān)的code
package day20180728;
import java.util.Scanner;
class Matrix{
private int m,n;
private int[][] arr;
public Matrix(int m,int n)
{
this.m=m;
this.n=n;
arr=new int[m][n];
}
public void setMat()
{
/*
* Scanner(InputStream source)
構(gòu)造一個新的 Scanner,它生成的值是從指定的輸入流掃描的
*/
Scanner sn=new Scanner(System.in);
int count=0;
for(int i=0; i
for(int j=0; j
{
System.out.print("請輸入矩陣中的數(shù)字:");
arr[i][j]=sn.nextInt();
}
}
public int[][] getArr()
{
return arr;
}
public void display()
{
for(int i=0; i
{
for(int j=0; j
{
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
System.out.println("-----"+arr.length+"*"+arr[0].length);
}
public static int[][] chenfaMat(int[][] a,int[][] b)
{
if(a[0].length!=b.length)
System.out.print("行列不相等不能計算");
int[][] end=new int[a.length][b[0].length];
int num=0,i=0,j=0;
int count=0;
for(int c=0; c
{
for( i=0; i
{
num=0;
for(j=0; j
{
num+=a[i][j]*b[j][c];
System.out.println("-----"+"["+i+","+j+"] "+c+"/// "+num);
}
end[i][c]=num;
}
System.out.println("--跳出循環(huán)后的i,j---"+"["+i+","+j+"]"+c+"### ");
}
return end;
}
}
public class MaxDem {
public static void print(int[][] arr)
{
for(int i=0; i
{
for(int j=0; j
{
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
System.out.print("-----"+arr.length+arr[0].length);
}
public static void main(String[] args) {
Matrix mx1=new Matrix(2,2);
mx1.setMat();
mx1.display();
Matrix mx2=new Matrix(2,3);
mx2.setMat();
mx2.display();
int[][] arry=Matrix.chenfaMat(mx1.getArr(), mx2.getArr());
print(arry);
}
}
結(jié)果
總結(jié)
以上是生活随笔為你收集整理的java矩阵类_java矩阵类,矩阵的乘法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: isight参数优化理论与实例详解_案例
- 下一篇: 3d打印光固化好还是热固化好_UV专利一