Das Zeilenweise einlesen hab ich diesmal durch einen String ersetzt.


import Prog1Tools.*;

public class InverterRekursiv
{
public static void main (String [] args)
{
// Read String
String input = IOTools.readString();

// print Header
System.out.println("===============================");
System.out.println("Invertierer (rekursive Version)");
System.out.println("===============================\n");

// call recursion method
String result = invertString(input, 1);

// print result
System.out.println("\nDie umgekehrte Zeichenfolge lautet: " + result);
}

// recursiv method to invert string
// int i is just used to print 1., 2., ... Zeichen
public static String invertString(String input, int i)
{
// get first char
String first = input.substring(0,1);
// print char
System.out.println(i++ + ".Zeichen: " + first);
// new string = del first char of old string
input = input.substring(1);

// abort condition
if(input.length() == 1)
{
// print char
System.out.println(i + ".Zeichen: " + input);
// return from recursion
return input + first;
}
else // continue recursion
{
return invertString(input, i) + first;
}
}
}

Read more: http://feeds.dzone.com/~r/dzone/snippets/~3/IJ2B8n1BZ_c/12657