Procedure

Ok ... ich frag mal lieber zur sicherheit :
weist du eigentlich was es bedeutet das eine Methode iterativ bzw. rekursiv arbeitet ?
Weil das hat nicht so den anschein da eine Methode die lediglich einen Sub-String eines Parameters wieder returned oder ausgibt weder iterativ noch rekursiv arbeit, sondern lediglich prozedual.
Eine Iteration wäre zum Beispiel wenn du dir jetzt aus dem String ein Char-Array baust und dann dieses Char für Char durchgehen und es ausgeben würdest. Auch wenn das mehr als nur umständlich ist da Java ja auch komplette Strings ausgeben kann. Dessweiteren wird sowieso ALLES was du über System.out ausgibst ERST in einen String umgewandelt. Dann könntest du dir das also mit dem Char-Array sparen und gleich mit substring(int, int) arbeiten.

Worauf ich NOCHMAL hinweisen möchte :
bitte poste uns mal den Code der Methode ausgabe(String) da wir dir sonst nicht helfen können wenn wir nicht wissen was genau diese Methode macht.
 
Zuletzt bearbeitet von einem Moderator:
Ich weiß nicht ganz was du möchtest.

Du kannst mit string.charAt() auf die einzelnen Buchstaben zugreifen. Diese könntest du dann ausgeben. Das packst du in eine Schleife. Diese Schleife sollte die gleichen Werte nutzen wie die Methode substring.

Ich weiß allerdings nicht, ob das bei dir so gewollt ist. Das ist lediglich eine Vermutung.

Gruß

Sascha
 
Also SpikEe das mit der Iteration wie du es erklärt hast meinte ich doch so. Da muss man dann das array rückwerts durchlaufen.

Und die Methode ausgabe() ist das hier

Java:
public static void ausgabe(String st)
{
int length = st.length();
if (length > 0)
{
System.out.print(st.charAt(0));
ausgabe (st.substring(1, length));
System.out.print(st.charAt(0));
 }
}

mehr nicht.
 
Ah jetzt ergibt das ganze auch Sinn, nachdem du die Methode mal richtig benannt hast.

Dein Vorschlag von der ersten Seite passt nicht. Wenn man es iterativ macht, darf der rekursive Aufruf nicht vorkommen.

Gruß

Sascha
 
Ach entschuldignung habe das nicht gemerkt das ich das oben falsch bennat habe.

Könnte man das so machen ?

Java:
public static void ausgabeIter(String st){
char[] st = text.toCharArray();

int length = st.length;

for(int i = length-1; i >= 0; i--) {
System.out.print(st[i]);
}
}
 
Damit hättest du aber auch nur die halbe Ausgabe.

Um bei deinem Beispiels (LESE) zu bleiben, da ist die komplette Ausgabe ja LESEESEL.
Du gibst das Wort ja hier nur einmal rückwärts aus.

Gruß

Sascha
 
Zurück