# Quadratzahlen rückwerts ausgeben



## nuke87 (16. Okt 2018)

Hallo Leute, brauche eure Hilfe.
Folgende Aufgabenstellung:
quadOutRueck nimmt ein (positives – nicht zu überprüfen) ganzzahliges Argument n an und gibt

auf dem Bildschirm die Quadratzahlen von n2 bis 12 in absteigender Reihenfolge zeilenweise aus.

Die Methode gibt keinen Ergebniswert zurück.

Beispiel: quadOutRueck(4) produziert folgende Ausgabe
16
9
4
1

Mein Code Aussschnitt:

```
public static int quadOutRueck(int a){
        while(a>=1){
            a = a*a;
            System.out.println("" +a);
            --a;
        }
        return a;

       
    }
```

Habe eine ganz komische Ausgabe:
mit Zahl 4 z.B.
16

225

50176

-1777436671

habe schon mit for schleife probiert, da gibt mir das Programm zahlen von 16 bis 1 aus.
Kann mir jemand einen Tip geben, was ich falsch mache?


----------



## temi (16. Okt 2018)

nuke87 hat gesagt.:


> a = a*a;


Du weist "a" das Ergebnis von "a * a"  zu: Bei einem Startwert von 4 ist "a" danach 16. Davon ziehst du später 1 ab und beim nächsten Durchgang ergibt das 15 * 15 usw...


----------



## nuke87 (16. Okt 2018)

ok, war mein Denkfehler. Habs jetzt raus. Vielen Dank für den Tip!


----------

