# While schleifen



## alshalabimarwan1 (1. Jul 2022)

Erstellen Sie eine while-Schleife, die für die Zahlen 1 bis 100 jeweils das Doppelte des Wertes ausgibt. Für die Zahl 2 soll also 4 ausgegeben werden, für die Zahl 3 eine 6 und so weiter.   

 int x = 1 ;

        while (x  <= 100 ) {

            System.out.println( x * 2);



        }
    }
Was mach ich falsch ?


----------



## mihe7 (1. Jul 2022)

Du änderst x nicht?


----------



## DrahtEck (3. Jul 2022)

Und die Schleife läuft endlos weiter.
Ausserdem solltes du in der Zeile  
	
	
	
	





```
System.out.println( x * 2);
```
 das  x * 2 weg lassen das  gehört da drüber als  
	
	
	
	





```
x = x * 2;
```
Als Ausgabe langt nur (x)

Das sollte die weiter helfen.
P.S. Wenn man den Wert der Zahlen verdoppelt  2, 4, 8,16 .... usw.  bekommt man am Ende nicht den Wert 100. Daher ist die Frage unklar, was wirklich gemeint ist.


----------



## KonradN (3. Jul 2022)

DrahtEck hat gesagt.:


> Und die Schleife läuft endlos weiter.


Das kommt, weil x nicht erhöht wird - so wie von @mihe7 richtig erwähnt.


DrahtEck hat gesagt.:


> Ausserdem solltes du in der Zeile
> 
> 
> 
> ...


Dann macht das Programm aber nicht das, was es machen soll.

Dann würde eben nicht von 1 bis 100 durchgezählt und immer das doppelte ausgegeben. Statt dessen würde die Zahl immer wieder verdoppelt mit jedem Durchlauf.

Es gibt also nicht die Ausgabe:
2 4 6 8 10 12 ... 198 200  
(Alles zusammen 100 Ausgaben)
sondern
2 4 8 16 32 64 128
(Ausgabe von 7 Zahlen)


----------



## DrahtEck (3. Jul 2022)

> Es gibt also nicht die Ausgabe:
> 2 4 6 8 10 12 ... 198 200
> (Alles zusammen 100 Ausgaben)
> sondern
> ...


Ahso verstehe ok,  dann braucht alshalabimarwan1 eine Methode z.B.:





```
public static void main(String[] args) {
        methode();
    }
 

    public static void methode() {
        int x = 1;
           while (x <= 100) {
            int y = x * 2;
            System.out.println(y);
           x = x + 1;  // oder  x ++;
        }
    }
```


----------



## MastaFantasta (20. Sep 2022)

Meine Lösung wäre es einfach +2 zu geben,

```
int x = 0 ;

        while (x < 200 ) {
            x+=2;
        System.out.println(x);

        }
```


----------



## mihe7 (20. Sep 2022)

MastaFantasta hat gesagt.:


> Meine Lösung wäre es einfach +2 zu geben,


Ja, das funktioniert, den Code kann man aber auch schöner formatieren:

```
int x = 0;
while (x < 200) {
    x += 2;
    System.out.println(x);
}
```


----------



## MarvinsDepression (21. Sep 2022)

Das Ergebnis ist zwar richtig, aber ich befürchte, dass es trotzdem nicht für die volle Punktzahl reichen würde (siehe Aufgabe in #1)
Ich interpretiere das so: Zähle von eins bis hundert, aber schreibe stets das Doppelte.
Möglicherweise sind das aber auch nur Korinthen... 😄


----------

