java矩陣代碼 java編程實(shí)現(xiàn)矩陣乘法

用java怎么寫矩陣乘法?

import?java.util.Scanner;?

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站制作、荷塘網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、荷塘網(wǎng)絡(luò)營銷、荷塘企業(yè)策劃、荷塘品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供荷塘建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:bm7419.com

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ù)不匹配,不能進(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();?

}?

}?

}?

測試類:?

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) ; //用來驗(yàn)證輸入的是否和你一樣的,沒啥作用?

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

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

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

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

if(result == null){?

return ; //如果輸入的矩陣不能運(yùn)算就不輸出結(jié)果了。?

}?

m.print(result) ;?

}?

}

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

用java:利用二維數(shù)組,任意給出一個(gè)矩陣,編寫實(shí)現(xiàn)矩陣轉(zhuǎn)置的代碼

借花獻(xiàn)佛

/**

*?實(shí)現(xiàn)二維數(shù)組的轉(zhuǎn)置

*?@author?HAN

*

*/

public?class?transposition_Arrays2D_ch6_4?{

final?static?double?PI=3.1415;

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

/*StaticTest?st1=new?StaticTest();

StaticTest?st2=new?StaticTest();

st1.method2("HAN");*/

/*****定義要用于轉(zhuǎn)置的二維數(shù)組*******/

int?arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};

/*****構(gòu)造結(jié)果新二維數(shù)組用于存放轉(zhuǎn)置結(jié)果*******/

/*定義結(jié)果數(shù)組變量,注意?一定要先開辟一個(gè)內(nèi)存,

否則只是地址傳遞,也就是說兩個(gè)數(shù)組名實(shí)際上指向的是同一塊內(nèi)存*/

//而構(gòu)造二維數(shù)組可以為維度來進(jìn)行,不一定是一個(gè)矩陣,即每一行的長度不一定相同

int?result_arr[][]=new?int[arr2D.length][];//先實(shí)現(xiàn)第一維

for(int?i=0?;?iarr2D.length;i++){?//再實(shí)現(xiàn)第二維

result_arr[i]=new?int[arr2D[i].length];

}

// int?result_arr[][]=Arrays.copyOf(arr2D,?arr2D.length);

//上面這個(gè)命令行行不通!

/*****輸出用于轉(zhuǎn)置的二維數(shù)組*******/

for?(int?x[]:arr2D){

for(int?e:x){

System.out.print(e+"?");

}

System.out.println();

}

System.out.println();

/*******進(jìn)行元素倒置******/

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

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

result_arr[j][i]=arr2D[i][j];?//轉(zhuǎn)置核心

}

}

/*****show?the?result?in?the?result?matrix*******/

for?(int?x[]:result_arr){

for(int?e:x){

System.out.print(e+"?");

}

System.out.println();

}

}

}

//import?java.util.Arrays;

//public?class?transposition_Arrays2D?{

//

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

// int?arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};

// /*定義結(jié)果數(shù)組變量,注意?一定要先開辟一個(gè)內(nèi)存,

// 否則只是地址傳遞,也就是說兩個(gè)數(shù)組名實(shí)際上指向的是同一塊內(nèi)存*/

// int?result_arr[][]=new?int[arr2D.length][];

// for(int?i=0?;?iarr2D.length;i++){

// result_arr[i]=new?int[arr2D[i].length];

// }

//

//????????//?進(jìn)行元素倒置

//????????for(int?i=0?;?iarr2D.length;i++){

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

//???????? result_arr[j][i]=arr2D[i][j];

//???????? }

//????????}

//????????

//????????//?show?the?result?in?matrix

//????????for?(int?x[]:result_arr){

//???????? for(int?e:x){

//???????? System.out.print(e);

//???????? }

//???????? System.out.println();

//????????}

//????????

// }

//

//}

Java 3*5矩陣?

可以如下操作:

int[][] num = new int [5][3];

//num為5*3的二位數(shù)組

init(num);

//為num數(shù)組負(fù)值

for(int i=0;i3;i++)

{

for(int j=0;j5;j++)

{

System.out.print(num[j][i]);

System.out.print(" ");

}

System.out.print("\n");

}

//雙重for循環(huán)實(shí)現(xiàn)二維數(shù)組的轉(zhuǎn)置輸出

That's all.

當(dāng)前文章:java矩陣代碼 java編程實(shí)現(xiàn)矩陣乘法
文章源于:http://bm7419.com/article14/ddehgge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)網(wǎng)站改版、云服務(wù)器靜態(tài)網(wǎng)站、網(wǎng)站營銷、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)