Verständnis Probleme / Barrikade im Kopf

nevel

Mitglied
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.

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

temi

Top Contributor
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

Mitglied
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 ?
 

Neue Themen


Oben