2017-03-07 1 views
-2

Ich lerne Java mit dem Headfirst Java Buch. Ich habe ein Problem zu verstehen, was einige Java tun und wie eine Ausgabe zustande kam. Zum Beispiel:Kann mir bitte jemand erklären, was der Java Code hier macht?

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); 
    } 
} 

mein Ausgang ist 54 6, aber ich weiß nicht, wie es dazu kam. Kann jemand das erklären?

+3

ziemlich gute Zeit, um die Debug-Funktionen auf Ihrer IDE zu starten .... –

+0

Es ist schwer zu beschreiben, was es genau tut, aber kurz gesagt ist es add-und subtrahieren von x und y vor dem Drucken der Ergebnisse. In welchem ​​Bereich bist du genau verwirrt? –

+0

@stevesmith das Addieren und Subtrahieren von part.How funktioniert die for-Schleife in diesem Fall. – Olal

Antwort

-1

In diesem Snippet verwenden Sie zwei For-Schleifen außen und innen. Für jede äußere Schleife wird die Iterations-Innenschleife dreimal oder weniger iteriert, wenn x == 6.Dann gibt es einige Operationen zum Hinzufügen und Subtrahieren innerhalb der inneren Schleife und Werte für x und y werden für jede Iteration der äußeren Schleife gedruckt.

0

Die For-Loops funktioniert so:

für (Initialisierung, Bedingung; Stufen) { tun Stuff }

Initialisierung ist der Teil, wo Variablen definiert sind, nicht erforderlich, Variablen für den Zustand, aber sie sind nur in der for-Schleife erreichbar.

Bedingung, solange die Bedingung wahr ist, wird der Befehl erneut ausgeführt.

Schritte meist eine Interaktion für die Schleifen in diesem Fall seine äußere = äußere +1 und innere = innere -1.

In diesem Beispiel läuft die äußere for-Schleife von außen = 0 nach außen = 2 und die innere verläuft von innen = 4 nach innen = 2. In der If-Bedingung wird nach Erreichen von x == 6 getestet True-Status wird es die innere for-Schleife mit einer Pause zu stoppen.

Das ist, was es tut, wie es die erwarteten Werte erreicht, zählt nur die Schleifen und addiert Werte.

Verwandte Themen