我正在练习在矩阵的每一行中找到2个最大的数字,但是它必须小于1。
例如矩阵是:
1,000 0,283 0,372 0,962
0,283 1,000 0,915 0,232
0,372 0,915 1,000 0,253
0,962 0,232 0,253 1,000
所以我希望输出应该是:
0,962 0,372
0,915 0,283
0,915 0,372
0,962 0,253
到目前为止,我所做的一切并没有在控制台部分给我很多帮助 这是我的代码:
public static double[][] Neighbor(double a[][], int m,int n)
{
double first,second;
first = second = -100;
double [][]neighbors = new double[m][2];
for(int i = 0; i<m ;i++)
{
for(int j = 0; j<n;j++)
if( a[i][j] > first && a[i][j] < 1)
{
second = first;
first = a[i][j];
neighbors[i][1] = first;
}
else if( a[i][j] > second && a[i][j] < 1)
{
second = a[i][j];
neighbors[i][2] = second;
}
}
}
return neighbors;
}
主要:
double[][] neighbors = new double[m][2];
neighbors = Neighbor(Ybar,m,m);
System.out.println();
for(int i = 0; i < m; i++)
{
for(int j = 0; j < 2; j++)
{
System.out.printf("%.3f ", neighbors[i][j] );
}
System.out.println();
}
我的邻居函数有什么问题吗? 我是java的新手:)