# Verständnis Probleme / Barrikade im Kopf



## nevel (10. Mai 2021)

Hallo zusammen !
Ich habe folgenden Code und soll in Teil 2 die Einträge des Feldes werden jetzt Zahlen über den Scanner eingelesen und in Teil 3 die Ausgabe umkehren (statt 12345 dann 54321). Leider habe ich mich so verrannt, dass ich kaum noch durchblicke und mich selber verwirre.

[CODE lang="java" title="Übung"]import java.util.Scanner;

public class Inverse_Output {
  public static void main(String[] args) {


    Scanner sc = new Scanner(System.in);
    int index;
    int anzahl;
    int[] feld;

/* Teil (1)  */

    anzahl = sc.nextInt();
    feld = new int[anzahl];

/* Teil (2)  */

    index = 0;
    while ( index < anzahl )
    {
      feld[index] = index * index;
      index = index + 1;
    }

/* Teil (3)  */

    index = 0;
    while ( index < anzahl )
    {
      System.out.print( feld[index] + " " );
      index = index + 1;
    }


  }
}
[/CODE]


----------



## M.L. (10. Mai 2021)

Auf die Schnelle: "feld.length()" auslesen, dann via Zählschleife von feld.length()-1  bis 0  die Eingabe ausgeben lassen.


----------



## nevel (10. Mai 2021)

M.L. hat gesagt.:


> Auf die Schnelle: "feld.length()" auslesen, dann via Zählschleife von feld.length()-1  bis 0  die Eingabe ausgeben lassen.


Danke für den Tipp, doch wie genau baue ich das in den Code ein? 
Bin sehr neu in Java und leicht überfordert


----------



## temi (10. Mai 2021)

Es wird `feld[index]` ausgegeben. Der Startindex ist bei dir 0, also das erste Feld. Du möchtest beim letzten Feld beginnen und solltest den Startindex demnach auch so setzen (entweder feld.length() oder "anzahl". Achtung Index beginnt bei 0!) Deine while-Schleife muss dann natürlich rückwärt laufen (Vergleich anpassen und Index dekrementieren anstatt inkrementieren).


----------



## nevel (10. Mai 2021)

temi hat gesagt.:


> Es wird `feld[index]` ausgegeben. Der Startindex ist bei dir 0, also das erste Feld. Du möchtest beim letzten Feld beginnen und solltest den Startindex demnach auch so setzen (entweder feld.length() oder "anzahl". Achtung Index beginnt bei 0!) Deine while-Schleife muss dann natürlich rückwärt laufen (Vergleich anpassen und Index dekrementieren anstatt inkrementieren).


Hmmm.. also mir ist klar, dass ich dekrementieren muss.
Ich habe das Programm soweit , dass ich nur noch das Ergebniss umdrehen muss, doch leider hängt es da bei mir.
Wo verändre ich den Startindex und was meinst du mit vergleich anpassen ?


----------



## temi (10. Mai 2021)

nevel hat gesagt.:


> Wo verändre ich den Startindex und was meinst du mit vergleich anpassen ?




```
/* Teil (3)  */

    index = 0;
    while ( index < anzahl )
```


----------

