矩陣乘法java代碼 java編寫矩陣乘法
java 矩陣相乘
有兩個錯誤:
一、Matrix 類的構(gòu)造方法寫的有問題:改成這樣:
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ù)字相加回轉(zhuǎn)成int,值為:32
java矩陣乘法
import java.util.Arrays;
public class Test {
static int[][] matrix1;
static int[][] matrix2;
public static void main(String[] args) {
matrix1=new int[][]{{1,2,3,4},{2,3,4,5},{3,4,5,6},{4,5,6,7},{5,6,7,8},{6,7,8,9}};
matrix2=new int[][]{{9,8,7,6,5,4},{8,7,6,5,4,3},{7,6,5,4,3,2},{6,5,4,3,2,1}};
if(matrix1.length!=matrix2[0].length){//若無法相乘則退出
System.out.println("ivalid input");
System.exit(0);
}
int[][] r = new int[matrix1[0].length][matrix2.length];
for(int i=0;ir.length;++i){
for(int j=0;jr[i].length;++j){//每一個r[i][j]的運算:
r[i][j]=0;//初始化
for(int k=0;kmatrix2.length;++k)
r[i][j]+=matrix1[i][k]*matrix2[k][j];
}
}
//輸出結(jié)果
for(int i=0;ir.length;++i)
System.out.println(Arrays.toString(r[i]));
}
}
用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 ; //如果輸入的矩陣不能運算就不輸出結(jié)果了。?
}?
m.print(result) ;?
}?
}
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進行復(fù)雜的編程。 Java具有簡單性、面向?qū)ο?、分布式、健壯性?a href='http://mengdiqiu.com.cn/dedecms_aq/' target='_blank'>安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
上一篇:找質(zhì)數(shù)java實現(xiàn)代碼 找質(zhì)數(shù)java實現(xiàn)代碼怎么做
欄 目:Java編程
下一篇:沒有了
本文標(biāo)題:矩陣乘法java代碼 java編寫矩陣乘法
本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/17354.html
您可能感興趣的文章
- 04-10找質(zhì)數(shù)java實現(xiàn)代碼 找質(zhì)數(shù)java實現(xiàn)代碼怎么做
- 04-10前端寫java代碼 java寫前端還是后端
- 04-10java改變字體代碼 java怎么改變字體
- 04-10java學(xué)習(xí)代碼庫 java代碼教學(xué)
- 04-10b2bjava開源代碼的簡單介紹
- 04-09java視頻下載代碼解釋 java下載網(wǎng)頁視頻
- 04-09簡易教務(wù)系統(tǒng)java代碼 簡易教務(wù)系統(tǒng)java代碼大全
- 04-09java遮罩層代碼 java面板
- 04-09對話框代碼java java對話框分為______和_______兩種
- 04-09java堆的基本代碼 java 堆的結(jié)構(gòu)


閱讀排行
本欄相關(guān)
- 04-10矩陣乘法java代碼 java編寫矩陣乘法
- 04-10找質(zhì)數(shù)java實現(xiàn)代碼 找質(zhì)數(shù)java實現(xiàn)代
- 04-10前端寫java代碼 java寫前端還是后端
- 04-10java改變字體代碼 java怎么改變字體
- 04-10java學(xué)習(xí)代碼庫 java代碼教學(xué)
- 04-10b2bjava開源代碼的簡單介紹
- 04-09java視頻下載代碼解釋 java下載網(wǎng)頁視
- 04-09簡易教務(wù)系統(tǒng)java代碼 簡易教務(wù)系統(tǒng)
- 04-09java遮罩層代碼 java面板
- 04-09對話框代碼java java對話框分為______和
隨機閱讀
- 08-05修改DedeCMS自動獲取標(biāo)題的長度
- 08-05如何在DEDECMS網(wǎng)站欄目中增加統(tǒng)計文章
- 01-10java編程實現(xiàn)屏幕截圖(截屏)代碼總結(jié)
- 01-10html 基于 canvas 實現(xiàn)的一個截圖小dem
- 01-10詳解c# AutoMapper 使用方式
- 01-10C語言實現(xiàn)2048游戲代碼
- 01-10vc獲取計算機名和ip地址的方法
- 01-10C++ 二叉樹的鏡像實例詳解
- 01-10在Linux下編譯C或C++程序的教程
- 01-10C++智能指針實例詳解