Hi alle,
habe gerade seit rund 6 Wochen Java, also bitte nicht fertig machen wenn ich ein paar "dumme Fragen" stelle.
Zur Zeit stehe ich vor folgendem Problem:
Ich möchte ein Programm schreiben, bei dem ich eine unbestimmte Anzahl von Zeichen eingebe und diese danach in umgekehrter Reihenfolge wieder printe. Bei der Eingabe von 'x' oder 'X' gilt die Eingabe als beendet und die Zeichenkette wird ausgegeben.
Da ich gerade Felder als neues Thema habe, dachte ich daran dies auch so zu lösen. Mein Lösungsansatz sieht wie folgt aus:
Anmerkungen:
In der Zeile 24 lege ich praktisch ein neues Feld an, obwohl ich eigentlich nur die Länge verändern möchte. Ob es einen passenden Befehl dafür gibt weiß ich leider nicht. ???:L
Geht das nur mit einem zweidimensionalen Feld? Wenn ja: wie?
Eine Lösung mit Arrays wäre mir sehr wichtig (sollte ich ja üben), daher bitte wenn möglich auch eine passende Lösung, auch wenn es auf anderem Wege vielleicht viel leichter ginge.
Vielen Dank schonmal!
habe gerade seit rund 6 Wochen Java, also bitte nicht fertig machen wenn ich ein paar "dumme Fragen" stelle.
Zur Zeit stehe ich vor folgendem Problem:
Ich möchte ein Programm schreiben, bei dem ich eine unbestimmte Anzahl von Zeichen eingebe und diese danach in umgekehrter Reihenfolge wieder printe. Bei der Eingabe von 'x' oder 'X' gilt die Eingabe als beendet und die Zeichenkette wird ausgegeben.
Da ich gerade Felder als neues Thema habe, dachte ich daran dies auch so zu lösen. Mein Lösungsansatz sieht wie folgt aus:
Java:
import Prog1Tools.IOTools;
public class p16
{
public static void main (String [] args)
{
boolean beenden = false;
char z;
int a = 1, b=0, c=0;
// Initialiserung von Feldern
char [] zeichenfeld;
zeichenfeld = new char[b];
// Kopf des Programms
System.out.println ("===============================");
System.out.println ("Invertierer (iterative Version");
System.out.println ("===============================");
for (b=0; beenden == false; b = b+1)
{
zeichenfeld = new char[b+1];
System.out.print ((b+1) + ". Zeichen: ");
z = IOTools.readChar ();
zeichenfeld[b] = z;
switch (z)
{
case 'x':
case 'X':
beenden = true;
break;
}
}
for (c = zeichenfeld.length; c >= 0; c = c-1)
{
System.out.print (zeichenfeld[c]);
}
}
}
Anmerkungen:
In der Zeile 24 lege ich praktisch ein neues Feld an, obwohl ich eigentlich nur die Länge verändern möchte. Ob es einen passenden Befehl dafür gibt weiß ich leider nicht. ???:L
Geht das nur mit einem zweidimensionalen Feld? Wenn ja: wie?
Eine Lösung mit Arrays wäre mir sehr wichtig (sollte ich ja üben), daher bitte wenn möglich auch eine passende Lösung, auch wenn es auf anderem Wege vielleicht viel leichter ginge.
Vielen Dank schonmal!