gpt4 book ai didi

java - 使用线程将两个矩阵相乘

转载 作者:行者123 更新时间:2023-12-01 04:19:55 26 4
gpt4 key购买 nike

我正在尝试使用 Java 中的线程将两个矩阵相乘。我不知道我的代码发生了什么,因为它不显示矩阵的乘积,而是显示 0 或 MatrixC 的内存位置。这是我的线程乘法代码:

public class ThreadMatrix extends Thread {
int ini, end, counter;

// Interval for each thread
public ThreadMatrizes(int ini, int end) {
this.init = ini; // Position of the matrix where the thread starts
this.end = end; // Position of the matrix where the thread ends
}

public void run(){

int i = 0, j = 0, k = 0;

for (i = init; i < end; i++){
for (j= init; j < end; j++){
for (k = init; k < end; k++){
MatrixMultiplication.matrixC[i][j] += MatrixMultiplication.matrixA[i][k]*MatrixMultiplication.matrixB[k][j];
}
}
}
System.out.println(MatrixMultiplication.matrixC[i][j]);
}
}

System.out.prinln(MatrixMultiplication.matrixC[i][j]);我尝试在没有 [i][j] 的情况下运行,输出是一个内存位置。我该怎么办?

最佳答案

要打印多维数组,您可以使用 Arrays.deepToString 。该方法是为打印多维数组而设计的。

System.out.println(Arrays.deepToString(MatrixMultiplication.matrixC));

或者,如果您想要更自定义的打印输出,您可以编写自己的循环,例如

for (i = init; i < end; i++){
for (j= init; j < end; j++){
System.out.print(MatrixMultiplication.matrixC[i][j] + " ");
}
System.out.println();
}

关于java - 使用线程将两个矩阵相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19041252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com