0

質疑応答

条件ステートメントで大量の OR ステートメントを実行せずに、3 つの条件のうち 2 つが満たされているかどうかを確認するにはどうすればよいですか。

すなわち

if (((a==true)&&(b==true))||((b==true)&&(c==true))||((c==true)&&(a==true))) {

4

1 に答える 1

3

(a==true) のような条件ステートメントを使用して、if ステートメントで値 1 または 0 を返します...

すなわち

if (a==true) {と同じですif ((a==true)==1) {

すべての条件がフォーム内にあるためif (1) { else if (0) {

短縮する
if (((a==true)&&(b==true))||((b==true)&&(c==true))||((c==true)&&(a==true))) {
には、各条件ステートメントを 1 または 0 のいずれかの数値として割り当て==、すべての条件を追加し、値が 1 より大きいかどうか (条件が満たされていることを意味します) を確認します。そうであればゼロを返し、1を返し、それらを加算すると数値が得られます...

短縮形:

if ((a==true)+(b==true)+(c==true)>1) {

また、obj-c が BOOL を処理する方法で BOOL を処理する言語を使用している場合は、さらに短くすることができます。

if ((a)+(b)+(c)>1) {

于 2013-04-05T16:39:40.133 に答える