我试图在JDK中编译以下代码,但它似乎无法编译,即使它是,我也在第41行收到错误而不是语句。
导致错误的行是:
long endTime = System.currentTimeMillis();
这是代码:
import mpi.*;
public class MultidimMatrix {
public static final int N = 10;
public static void main (String args[]){
MPI.Init(args);
long startTime = System.currentTimeMillis();
int rank = MPI.COMM_WORLD.Rank();
int size = MPI.COMM_WORLD.Size();
int tag = 10, peer = (rank==0) ? 1:0;
if(rank == 0) {
double [][] a = new double [N][N];
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
a[i][j] = 10.0;
Object[] sendObjectArray = new Object[1];
sendObjectArray[0] = (Object) a;
MPI.COMM_WORLD.Send(sendObjectArray, 0, 1, MPI.OBJECT, peer, tag);
} else if(rank == 1){
double [][] b = new double [N][N];
for(int i = 0; i < N; i++)
for(int j = 0; j < N; i++)
b[i][j] = 0;
Object[] recvObjectArray = new Object[1];
MPI.COMM_WORLD.Recv(recvObjectArray, 0, 1, MPI.OBJECT, peer, tag);
b = (double[][]) recvObjectArray[0];
for(int i = 0; i < 4; i++){
for(int j = 0; j < N; i++)
long endTime = System.currentTimeMillis();
System.out.print(b[i][j]+"t");
System.out.println("n");
System.out.println("Calculated in " +
(endTime - startTime) + " milliseconds");
}
}
MPI.Finalize() ;
}
}
任何帮助将不胜感激!
你有
for(int j = 0; j < N; i++)
应该是
for(int j = 0; j < N; i++) {
您应该保持源格式正确 - 大多数 IDE 可以自动执行此操作(在保存或从键盘命令时)。格式化后这个问题很明显。