2017-03-07 14 views
-2

私はheadfirst Javaの本を使ってjavaを学んでいます。私は、Javaのやり方や出力の仕方を理解するのに問題があります。例:誰かが私にこのJavaコードが何をしているのか説明してもらえますか?

class MultiFor { 

public static void main(String[] args) { 
    // write your code here 
     int x = 0; 
     int y = 30; 

     for (int outer = 0; outer < 3; outer++){ 
      for (int inner = 4; inner > 1; inner--){ 
       x = x + 3; 
       y = y - 2; 
       if (x == 6){ 
        break; 
       } 
       x = x + 3; 
      } 
      y = y - 2; 
     } 
     System.out.println(x + " " + y); 
    } 
} 

私の出力は54ですが、どのようになったのかわかりません。誰かがこれを説明できますか?

+3

あなたのIDE上でデバッグ機能を使い始めるのにいい時間です.... –

+0

正確に何をしているのかを正確に説明するのは難しいですが、結果を印刷する前にxとyから何度も加減算しています。どのビットを正確に混同していますか? –

+0

@stevesは、この場合にforループが機能する加減算部を持っています。 – Olal

答えて

-1

このスニペットでは、2つのforループfor outerとinnerを使用しています。すべての外側ループ反復のために、内側ループはx == 6の場合に3回以下の反復を得る。内側ループ内にいくつかの加算および減算演算があり、xおよびyの値は外側ループの反復毎に印刷される。 { ないスタッフ }

初期化状態のために必要な変数の変数が定義されている部分ではなく、彼ら(;条件の手順初期化)をするための

0

ループについてザがそのように動作しますforループでのみ到達可能です。

条件条件が真である限り、再び実行されます。

階段は、このケースではループのための介在をほとんどその外側=外側+1と内側=内側-1です。

この例では、外側のforループは外側= 0から外側= 2まで実行され、内側は内側= 4から内部= 2まで実行されます。 if条件はx == 6真の状態では、内側のfor-loopを中断して停止します。

thats予想される値に達する方法は、ループをカウントして値を追加するだけです。

関連する問題