java中有超过1个问号

时间:2017-04-04 10:20:36

标签: java recursion conditional-operator

我曾经在谷歌搜索过,但没有找到答案。 返回中间的“+”是什么意思? 如果有的话,如何将其“翻译”为“简单”? 谢谢!

return (j>0&&(mat[i+1][j-1]<mat[i][j]) ? countRopes(mat, i+1, j-1) : 0) +
    ((mat[i+1][j]<mat[i][j]) ? countRopes(mat, i+1, j) : 0) +
    (j<mat[0].length-1&&(mat[i+1][j+1]<mat[i][j]) ? countRopes(mat, i+1, j+1) : 0);

2 个答案:

答案 0 :(得分:3)

那个神秘的+符号是神秘的东西叫做加法。

int result = 0;

if (j > 0 && mat[i+1][j-1]<mat[i][j]) {
    result = countRopes(mat, i+1, j-1);
}

if (math[i+1][j] < mat[i][j]) {
    result += countRopes(mat, i+1, j);
}

if (j < mat[0].length - 1 && math[i+1][j+1] < mat[i][j]) {
    result += countRopes (mat, i+1, j+1);
}

return result;

答案 1 :(得分:1)

各种括号是否评估为相同的数据类型?

+ s返回

  1. 各种连接值,如果它们是字符串。

  2. 字符的ASCII值之和。

  3. 数字总和,如果它们是整数或浮点数。

  4. 如果我们正在处理注册,马克的答案似乎是正确的。