新手求助编个简单的程序什么语言无所谓

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:07:52
r =
1.0000 -0.3566 0.1929 0.3457
-0.3566 1.0000 -0.1429 0.4461
0.1929 -0.1429 1.0000 0.5183
0.3457 0.4461 0.5183 1.0000

p =
1.0000 0.0531 0.3072 0.0613
0.0531 1.0000 0.4511 0.0135
0.3072 0.4511 1.0000 0.0033
0.0613 0.0135 0.0033 1.0000
比较这两个矩阵 如果r的元素比p的对应元素 大0.4以内 就记为0
r对应元素比p对应元素小0.4以内就记1 ,其余的记2.
要的返回值是 按顺序排列的 0 1序列

public class Test
{
public static void main(String args[])
{
double[][] r = {
{1.0000, -0.3566, 0.1929, 0.3457},
{-0.3566, 1.0000, -0.1429, 0.4461},
{0.1929, -0.1429, 1.0000, 0.5183},
{0.3457, 0.4461, 0.5183, 1.0000},
},
p = {
{1.0000, 0.0531, 0.3072, 0.0613},
{0.0531, 1.0000, 0.4511, 0.0135},
{0.3072, 0.4511, 1.0000, 0.0033},
{0.0613, 0.0135, 0.0033, 1.0000},
};

int[][] s = new int[4][4];
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
s[i][j] = evaluate(r[i][j], p[i][j]);
}
}

System.out.println(java.util.Arrays.deepToString(s));
}

static int evaluate(double d1, double d2) {
if (d1 > d2 && d1 - d2 < 0.4)
return 0;
if (d1 < d2 && d2 -