2016-04-28 9 views
-1

私は& &は、それが条件文で使用されている場合、両方の条件が満たされているが、どのようにフル
を説明しないかどうかを確認するために使用できること[I] [J] =オープン[I] [J] &を知っています& full [i - 1] [j]; ??
このコードを読んでいる場合はどうすれば説明できますか? 完全かつオープンは2つの2D ブール配列割り当て時に&&は何を意味しますか? JAVA

//i = column j = row 
for (int i = 1; i < N; i++) { 
      for (int j = 0; j < N; j++) { 
       full[i][j] = open[i][j] && full[i - 1][j]; 
       //^^ what happens here? 
} 
+0

このコードを実行して実際に何が起こっているか確認しましたか?私はそれがその表現の理解を向上させるのに役立つと思う。 – mantoviejo

+0

はい、私はステップバイステップで、何をしているのか、それが何であるのか、理解できませんでした。&& =(代入)演算子に慣れていませんでした。実際に何が起こっているのかを知りたい –

答えて

1
full[i][j] = open[i][j] && full[i - 1][j]; 

あること

通知はその[i][j] && full[i - 1][j]ブールに解決し、別のアレイ内の論理要素としてそれを割り当てるであろうことを意味します。

+0

つまり、代入(=)は実際には条件演算子として正しく機能していますか? open [i] [j]とfull [i - 1] [j]の両方が真(?)の場合、full [i] [j]に割り当てられます。 –

+0

何をしているのか分かりますが、ここで何が起こっているのか説明できますか?条件付き演算子としても機能しますか? –

+0

いいえ、完全な[i] [j]は真の値である式open [i] [j] && full [i - 1] [j] 'の結果値に設定されます。 =ちょうどfull [i] [j]をこの値と等しく設定するので、代入演算子になります。 –

0

我々はブール値のために同じことをやっている間、私は、我々は少し賢いAND演算を行うために、単一の&を使用することができます(100%ではないことを確認)我々はプリミティブデータ型を使用している場合は、それは値、 を割り当てていると思い 、

full[i][j] = open[i][j] && full[i - 1][j]; 

たちはfull[i][j]からopen[i][j]anded boolean valuefull[i-1][j]を割り当てていることを意味します。

0

デフォルトでは、完全配列のすべての値はfalseです。

最初はi = 1かつj = 0である。 フル[0] [0]の値はfalseになります。したがって、open [] []の値が何であれ、full [1] [0]は偽の値になります。

あなたの質問が間違っているとわたしを訂正してください。

+0

実際には、fullはすでに処理された配列です。いくつかのインデックスは真であり、いくつかは偽です。実際には、行列の垂直ラインにすべての真の値が含まれているかどうかを確認することです。 –

関連する問題