2017-04-04 5 views
-3

Iv'e searched googleが私の答えを見つけられませんでした。 返品の途中にある「+」はどういう意味ですか? これを "シンプル"に変換するにはどうしたらいいですか?感謝! ありがとう!Javaで1つ以上の疑問符

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); 
+1

ビヨンド:本物の持ち去り:決してこのようなコードを書いてはいけません!そのようなコードを書いている人は、キーボードを奪われてしまいます。あなたのためにコードを書いてはいけません。 – GhostCat

+0

[リファクタリング](https://www.cis.upenn.edu/~matuszek/cit597-2005/Lectures/21-refactoring.ppt):をサポートするIDEでこれを行うことができます。ローカル変数を抽出します。使用しているIDEがリファクタリングをサポートしていない場合、実際にはプログラミングをサポートしていません。 –

答えて

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; 
+0

あなたはそれをリファクタリングしていることを指摘したいのですか? – GhostCat

+0

私は自分の答えに自分の質問に答えたのはなぜですか? – Mark

1

さまざまなカッコが同じデータ型に評価されていますか?

ザ+ S戻り

  1. それらが文字列である場合、種々の連結された値。

  2. 文字のASCII値の合計(文字の場合)。

  3. intまたはfloatの場合の数学的な合計。

マークの答えは、私たちがintを扱っていると仮定すれば正しいと思われます。