真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

矩陣相乘Java代碼 矩陣運算java

java 矩陣相乘

有兩個錯誤:

創(chuàng)新互聯(lián)建站專注服務器托管服務10余年,提供服務器租用、網(wǎng)絡空間、域名注冊、云服務器、云主機租用、四川電信機房托管、建站等服務

一、Matrix 類的構造方法寫的有問題:改成這樣:

public Matrix(int m, int n) {

this.m = m;

this.n = n;

this.ma = new int[m][n];

}

二、如果你發(fā)現(xiàn)輸入和輸出的不一致的話,把Matrix類的print()方法:

循環(huán)打印的那行代碼改成 System.out.print(ma[i][j] + " ");

也就是單引號改成雙引號 ,單引號空格 如果和數(shù)字相加回轉成int,值為:32

java編寫程序實現(xiàn)兩個矩陣相乘

private Matrix multiply(Matrix mat1, Matrix mat2) {

Matrix mat=new Matrix();

// TODO 自動生成方法存根

if(mat1.col==mat2.row){

double sum;

mat.data=new double[mat1.row][mat2.col];

for (int i = 0; i mat1.row; ++i) {

for (int j = 0; j mat2.col; ++j) {

sum = 0;

for (int k = 0; k mat1.col; ++k) {

sum += mat1.data[i][k] * mat2.data[k][j];

}

mat.data[i][j] = sum;

}

}

return mat;

}

return null;

}

用java怎么寫矩陣乘法?

import?java.util.Scanner;?

public class Matrix {?

public double[][] create() {?

Scanner sc = new Scanner(System.in) ;?

System.out.print("請輸入矩陣的行高:");?

int a = sc.nextInt() ;?

System.out.print("請輸入矩陣的列寬:");?

int b = sc.nextInt() ;?

double[][] x = new double[a][b] ;?

for(int i=0;ilt;a;i++){?

for(int j=0;jlt;b;j++){?

System.out.print("請輸入元素x["+i+"]["+j+"]的值:" );?

x[i][j] = sc.nextDouble() ;?

}?

}?

return x ;?

}?

public double[][] multiply(double[][] x,double[][] y){?

double[][] result = null ;?

int a = x[0].length ;?

int b = y.length ;?

if(a != b){?

System.out.println("輸入的維數(shù)不匹配,不能進行運算");?

}else{?

int c = x.length ;?

int d = y[0].length ;?

result = new double[c][d] ;?

for(int i=0;ilt;c;i++){?

for(int j=0;jlt;d;j++){?

double sum = 0 ;?

for(int k=0;klt;a;k++){?

sum += x[i][k]*y[k][j] ;?

}?

result[i][j] = sum ;?

}?

}?

}?

return result ;?

}?

public void print(double[][] x){?

System.out.println("矩陣為:");?

for(int i=0;ilt;x.length;i++){?

for(int j=0;jlt;x[i].length;j++){?

System.out.print(x[i][j] + " ") ;?

}?

System.out.println();?

}?

}?

}?

測試類:?

public class TestMatrix {?

public static void main(String[] args) {?

Matrix m = new Matrix() ;?

//double[][] x = {{1,2},{3,2}} ;?

//double[][] y = {{1,2,1},{2,3,3}} ;?

System.out.println("創(chuàng)建第一個數(shù)組:") ;?

double[][] x = m.create() ;?

m.print(x) ; //用來驗證輸入的是否和你一樣的,沒啥作用?

System.out.println("創(chuàng)建第二個數(shù)組:");?

double[][] y = m.create() ;?

m.print(y) ; //用來驗證輸入的是否和你一樣的,沒啥作用?

double[][] result = m.multiply(x, y) ;?

if(result == null){?

return ; //如果輸入的矩陣不能運算就不輸出結果了。?

}?

m.print(result) ;?

}?

}

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向對象編程語言的代表,極好地實現(xiàn)了面向對象理論,允許程序員以優(yōu)雅的思維方式進行復雜的編程。 Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。


文章標題:矩陣相乘Java代碼 矩陣運算java
路徑分享:http://weahome.cn/article/ddghghi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部