2017-05-22 3 views
-3
while(true) { 
    a=0; 
    b=0; 

    if(condition){ 
     a++; 
    }else{ 
     b++; 
    } 

} 

私はこのコードを持っており、それを完了する方法はわかりません。私はaとbがいくらかの量に達した後にループを離れるようにしたい。助けてください。Java - このif文を完了するにはどうすればいいですか?

+0

を試してみてください? – Eran

+0

おそらく 'for'ループは無限の' while'の代わりに使うべきです。 –

+0

"aとbがいくらかの量に達した後にループを離れるようにしたい" - >これは停止条件です。これは 'while(condition)'の中で定義する必要があります。 – Aaron

答えて

4

abの宣言は、ループwhileの外側になければなりません。そうでなければ、それらは常に0になります。には、whileループの条件を変更できます。これは、aとbがまだその量に達していないことを意味します。

int a = 0; 
int b = 0; 

while (a < amount || b < amount) { 
    if (condition) { 
     a++; 
    } else { 
     b++; 
    } 
} 
+1

私は自分の答えを改善しました。ご意見ありがとうございます。 – Sky

2

フラグブールの代わりに、しばらく(true)を使用します。

boolean flag = true; 

while (flag) { 
    // your loop 
    if (a == the amount you want && b == the amount you want) 
     flag = false; 
    condition ? a++ : b++; 
} 
+2

フラグの代わりに、ちょうどwhile条件を使うことができます。 –

2
a=b=0; 
while(a<someValue || b<someValue){ 
if(condition){ 
    a++; 
}else{ 
    b++; 
} 

} 
2
while (a != some_value || b != some_value2){ 
    a++; b++; 
} 
2
while(true) { 
    a=0; 
    b=0; 

    if(a >= your condition && b >= your condition){ 
     break; 
    }else{ 
     a++; 
     b++; 
    } 

} 
+0

ループ内で 'a = 0;'と 'b = 0;'を指定すると、 "your condition"が負の数でない限り無限ループになります。 –

+0

私はブレーク操作を見せたいと思っていました。私はちょうど上記の例を過去コピーします。 また、>についてもそれは例であった。あなたが望むものに依存して、良い演算子を選択する必要があります – MatDev8

1

を使用すると、break文を知っています

int a = 0; 
int b = 0; 

while (b < amount) { 
    if (a < amount) { // increment a if it is less than amount 
     a++; 
    } else if(b < amount) { // Now increment b, increment b if it is less than amount 
     b++; 
    } 
} 
関連する問題