2017-02-11 4 views
0

これを行う方法はわかりませんが、以下のコードがあり、forループが配列内の各オブジェクト要素を反復処理し、if文の条件をチェックします。 if文の条件が満たされている場合、残りの配列オブジェクトを繰り返し処理せずにforループを終了します。これを行うために私のループを構成する方法はありますか?あなたはJAVAが提供するものbreakキーワードを使用することができ、これを達成するためにネストしたループを終了する

public void remove() 
    { 
     in = new Scanner(System.in); 
     System.out.print("Please enter the destination name to be removed: "); 
     nameSearch = in.nextLine(); 
     for(i=0; i < MAX_ELEMENT; i++) 
     { 
      temp = aDestination[i].getName; 
      if(temp == nameSearch) 
      { 
       aDestination[i]=null; 
      } 
     } 
    } 

答えて

0

をI remove()メソッドを複数回呼び出すと仮定します。ここで

はあなたのための正しい修飾されている:

public void remove() 
    { 
     in = new Scanner(System.in); 
     System.out.print("Please enter the destination name to be removed: "); 
     nameSearch = in.nextLine(); 
     for(i=0; i < MAX_ELEMENT; i++) 
     { 
      // we skip removed destination from previous remove() call 
      if(aDestination[i]==null) continue; 

      temp = aDestination[i].getName; 
      // you need to use equals() to compare String in Java 
      if(temp.equals(nameSearch)) 
      { 
       aDestination[i]=null; 
       break; // to exit from the loop 
      } 
     } 
    } 
+0

ありがとう、本当に便利です – jacob

0

を(すべての属性が初期化されていると仮定)。以下のように:

すぐに、それは現在の実行ループを壊すことになります。しかし、複数のネストされたループとブレークがある場合、特定のループから抜け出したい場合は、Labeled Breakを使用できます。

それはあなたの要件ではないのですが、あなたはそれについて知りたい場合は、チュートリアルの下に参照することができますが:

http://www.java-examples.com/java-break-statement-label-example

+0

あなたの助けをいただき、ありがとうございます。 – jacob

0

は、このようなブレーク命令用途:

if(temp == nameSearch) 
{ 
    break; // immediatly quit the loop 
    aDestination[i]=null; 
} 
関連する問題