2016-05-05 5 views
-1

whileループのように、括弧で囲まれたコードを持つjavaには構造体がありますが、変数がfalseに設定されていると、 ?あなたはjavaで構築し、変数が偽のときにループの先頭に戻る

var = true 
    construct(var = true){ 
    var = aMethod() 
    var = anotherMethod() 
    var = aFinalMethod() 
} 

aMethod()anotherMethod()aFinalMethod()は、すべてのboolean型メソッドであり、それらのいずれかがfalseを返した場合、ループはすぐにトップに戻り、VARがtrueに設定されていたので、場合

エスケープする唯一の方法は、これらのすべてのメソッドをtrueに戻すことです。これを行うコンストラクタはありますか?そうでない場合、javaのコンストラクトでそれを実現する方法はありますか?

+0

実行されないのだろうか? –

+0

次の反復にジャンプするか、ループを中断して出ていくためには、 'continue'と' break'があります。あなたがそれを探しているかもしれません。 –

答えて

3

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html

声明

文を続ける継続はのための現在の反復をスキップし、 、しばらくまたは実行-whileループ。ラベルのないフォームは、最も内側の ループの本体の最後までスキップし、 ループを制御するブール式を評価します。次のプログラムContinueDemoは、文字列 "012"を出現させる文字列 " "を処理します。現在の文字がpでない である場合、continueステートメントはループの残りの部分をスキップし、 は次の文字に進みます。それが "p"の場合、プログラムは の文字数をインクリメントします。文字列中の

見つかり9 Pさん:ここ

class ContinueDemo { 
    public static void main(String[] args) { 

     String searchMe = "peter piper picked a " + "peck of pickled peppers"; 
     int max = searchMe.length(); 
     int numPs = 0; 

     for (int i = 0; i < max; i++) { 
      // interested only in p's 
      if (searchMe.charAt(i) != 'p') 
       continue; 

      // process p's 
      numPs++; 
     } 
     System.out.println("Found " + numPs + " p's in the string."); 
     } 
} 

は、このプログラムの出力です。

0

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.htmlをご覧ください。助けるべきであるここにいくつかのコード:これはあなたの方法の一つになるまでループし続ける

boolean var = true, var1, var2, var3; 
while (var) { 
    // do some stuff here 
    var1 = aMethod() 
    var2 = anotherMethod() 
    var3 = aFinalMethod() 
    var = !(var1 && var2 && var3); 
} 

falseからvar設定します。

1

あなたが自分でそれを作成する必要がありませんのでそのようなことは、ありません。

var = true; 
while(var) { 
    var = aMethod(); 
    if (!var) 
     continue; 
    var = anotherMethod(); 
    if (!var) 
     continue; 
    var = aFinalMethod(); 
    if (!var) 
     continue; 
    else 
     break; 
} 
0

私はあなたが必要なものは非常にわからないんだけど、ここではすべて実行しようとする単純なループであり、それらのすべてが真を返すまでの三つの方法、: - (!)式全体が否定され、しばらくは継続されます

while (!(aMethod() && anotherMethod() && aFinalMethod())) ; 

ので、もし少なくとも一つの方法は、falseを返されました。注意しても

を停止する一方、すべてのメソッドは、trueを返し

aMethodがfalseを返した場合、 - anotherMethodaFinalMethodをすべてのメソッドがtrueを返した場合var` `に設定する必要がありますどのような値

関連する問題