欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

矩陣相乘相關(guān)java代碼,Java矩陣運(yùn)算

要編寫一個(gè)兩個(gè)矩陣相乘的JAVA方法,本人不懂,求高手幫忙!!萬分感激!!

你好,按照你的要求代碼如下,給出了注釋和運(yùn)行結(jié)果,可以直接運(yùn)行:

目前創(chuàng)新互聯(lián)公司已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、曲阜網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

public class test2 {

public static int[][] multiplyMatrix(int[][] a, int[][] b) {

// 判斷是否合法

if (a == null || a == null || a.length == 0 || b.length == 0

|| a[0].length != b.length) {

return null;

}

// 計(jì)算相乘

int[][] c = new int[a.length][b[0].length];

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

for (int j = 0; j b[0].length; j++) {

for (int k = 0; k a[0].length; k++) {

c[i][j] += a[i][k] * b[k][j];

}

}

}

return c;

}

public static void main(String[] args) {

int[][] a = new int[][] { { 1, 2, 3 }, { 1, 2, 3 } };

int[][] b = new int[][] { { 1, 2 }, { 1, 2 }, { 1, 2 } };

int[][] c = multiplyMatrix(a, b);

printMatrix(a);

printMatrix(b);

printMatrix(c);

}

// 打印矩陣

public static void printMatrix(int[][] c) {

if (c != null) {

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

for (int j = 0; j c[0].length; j++) {

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

}

System.out.println();

}

} else {

System.out.println("無效");

}

System.out.println();

}

}

運(yùn)行結(jié)果:

1 2 3

1 2 3

1 2

1 2

1 2

6 12

6 12

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){//每一個(gè)r[i][j]的運(yùn)算:

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 矩陣相乘

有兩個(gè)錯(cuò)誤:

一、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] + " ");

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

用java怎么寫矩陣乘法?

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();?

}?

}?

}?

測試類:?

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ū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 Java具有簡單性、面向?qū)ο蟆⒎植际健⒔研浴踩浴⑵脚_(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

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){//每一個(gè)r[i][j]的運(yùn)算:

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]));

}

}

本文名稱:矩陣相乘相關(guān)java代碼,Java矩陣運(yùn)算
文章源于:http://chinadenli.net/article43/dsidphs.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名靜態(tài)網(wǎng)站品牌網(wǎng)站建設(shè)面包屑導(dǎo)航小程序開發(fā)

廣告

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

網(wǎng)站優(yōu)化排名