十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
有兩個(gè)錯(cuò)誤:

創(chuàng)新互聯(lián)建站專注服務(wù)器托管服務(wù)10余年,提供服務(wù)器租用、網(wǎng)絡(luò)空間、域名注冊(cè)、云服務(wù)器、云主機(jī)租用、四川電信機(jī)房托管、建站等服務(wù)
一、Matrix 類的構(gòu)造方法寫的有問(wèn)題:改成這樣:
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] + " ");
也就是單引號(hào)改成雙引號(hào) ,單引號(hào)空格 如果和數(shù)字相加回轉(zhuǎn)成int,值為:32
private Matrix multiply(Matrix mat1, Matrix mat2) {
Matrix mat=new Matrix();
// TODO 自動(dòng)生成方法存根
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;
}
import?java.util.Scanner;?
public class Matrix {?
public double[][] create() {?
Scanner sc = new Scanner(System.in) ;?
System.out.print("請(qǐng)輸入矩陣的行高:");?
int a = sc.nextInt() ;?
System.out.print("請(qǐng)輸入矩陣的列寬:");?
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("請(qǐng)輸入元素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ù)不匹配,不能進(jìn)行運(yùn)算");?
}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();?
}?
}?
}?
測(cè)試類:?
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)建第一個(gè)數(shù)組:") ;?
double[][] x = m.create() ;?
m.print(x) ; //用來(lái)驗(yàn)證輸入的是否和你一樣的,沒(méi)啥作用?
System.out.println("創(chuàng)建第二個(gè)數(shù)組:");?
double[][] y = m.create() ;?
m.print(y) ; //用來(lái)驗(yàn)證輸入的是否和你一樣的,沒(méi)啥作用?
double[][] result = m.multiply(x, y) ;?
if(result == null){?
return ; //如果輸入的矩陣不能運(yùn)算就不輸出結(jié)果了。?
}?
m.print(result) ;?
}?
}
Java是一門面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。