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