Вам необходимо накопить каждый элемент перед переходом к следующему вызову:
public static String toString(String[] array, int n)
{
if (n == 0) return "";
else
{
return array[array.length - n] + toString(array, n-1);
}
}
System.out.println(toString(new String[]{"abc", "def", "ghi"}, 3));
Вывод:
abcdefghi
Вот еще один фрагмент, который добавляет разделитель в между элементами:
public static String toString(String[] array, int n)
{
if (n == 0) return "";
else
{
return array[array.length - n] + (n > 1 ? ", " : "") + toString(array, n-1);
}
}
Вывод:
abc, def, ghi