# Ausgabe von Werten nach Schleifendurchlauf



## Java_Azubi (26. Jan 2014)

Da ich nächste Woche eine Prüfung habe, poste ich noch mehr Aufgaben, ich bedanke mich schon einmal vorab fürs drüberschauen.


```
public class AufgabeA {
public static void main(String[] args) {
int a = 5;
int b = 7;
int c = 0;
int z = 0;
while ( b < 100 ){
c = b;
b = a + b;
if ( z >= 4 ){
z = z + 1;
continue;
}
a = c;
z = z + 1;
}
}
}
```

Werte der Variablen vor der Schleife: a=5; b=7; c=0; z=0;
Werte der Variablen nach dem ersten Schleifendurchlauf: a=7; b=12; c=7; z=1;
Werte der Variablen nach dem zweiten Schleifendurchlauf: a=12; b=17; c=12; z=2;
Werte der Variablen nach dem dritten Schleifendurchlauf: a=17; b=22; c=17; z=3;
Werte der Variablen nach dem vierten Schleifendurchlauf: a=22; b=27; c=22; z=4;
Werte der Variablen nach dem fünften Schleifendurchlauf: a=22; b=32; c=27; z=5;
Werte der Variablen nach dem sechsten Schleifendurchlauf: a=22; b=37; c=32; z=6;


----------



## JavaMeister (26. Jan 2014)

Hi,

die Ausgabe ist falsch.

Sieht man ja allein schon daran, dass b=37 ist, da kann es ja nicht zu ende sein oder? 

Gruß,

JM


----------



## Java_Azubi (26. Jan 2014)

Der Quelltext ist die Vorgabe und die Werte habe ich lösen müssen.
Was genau habe ich falsch gemacht? Alle Werte?


----------



## JavaMeister (26. Jan 2014)

Vor der Schleife ist richtig.

Alle folgenden sind falsch.


----------



## Java_Azubi (26. Jan 2014)

Könnten Sie mir die Rechnung für den ersten Durchlauf erklären?


----------



## Java_Azubi (26. Jan 2014)

```
public class AufgabeA {
    public static void main(String[] args) {
    int a = 5;
    int b = 7;
    int c = 0;
    int z = 0;
    while ( b < 100 ){ // 7<100
    c = b; // c=7
    b = a + b; // b=12 
    if ( z >= 4 ){ // 1>= 4 stimmt nicht also weiter bei a = c
    z = z + 1;
    continue;
    }
    a = c; // a=7
    z = z + 1; // z=1
    }
    }
    }
```

oder wo ist mein Denkfehler?


----------



## JavaMeister (26. Jan 2014)

Sorry, ich habe mich verguckt. 

FÜr z=1 ist es auch korrekt.

Naja im prinzip muss man doch nur das tun, was dort steht.

a=c

also den Wert von c nach a kopieren.

wenn z gleich oder größer 4 ist, dann

Dann muss man wissen, was continue macht. nämlich einfach zum while springen.

us.w.


----------



## Java_Azubi (26. Jan 2014)

Kein problem.
Ja genau, ich springe zurück und nehme dann die Werte nach dem ersten Schleifendurchlauf.
das führt doch dazu c=7; b=12; a=7; z =2;


----------



## JavaMeister (26. Jan 2014)

b = a + b;

//  Werte der Variablen nach dem ersten Schleifendurchlauf: a=7; b=12; c=7; z=1;

b = 19, da 7 +12


----------



## Java_Azubi (26. Jan 2014)

ach, ich hab nicht aufgepasst. Vielen Dank


----------

