Сегодня я пытаюсь преобразовать строку в обратную строку e.g(Cat Is Running into Running Is Cat)
слово за словом, а не символ
public class ReverseString_ {
public static void reverse(String str) {
String[] a = str.split(" ");
for (int i = a.length - 1; i >= 0; i--) {
System.out.println(a[i] + " ");
}
}
public static void main(String[] args) {
reverse("Cat Is Running");
}
}
Отображается следующий вывод:
Running Is Cat BUILD SUCCESSFUL (total time: 0 seconds)
Я пытаюсь преобразоватьString into reverse String То же, что и выше, но с помощью метода рекурсии, но это кажется слишком запутанным. и отображать больше ошибок. Может кто-нибудь, пожалуйста, помогите мне понять это. Большое спасибо
public static String reverse_recursion(String str) {
if (str == null)
return null;
else {
String Arry[] = str.split(" ");
int n = Arry.length - 1;
System.out.println(Arry[n] + "");
return reverse_recursion(Arry[n - 1]);
}
}
public static void main(String[] args) {
reverse_recursion("Cat Is Running");
}
Этот код показывает следующий вывод:
Running
Is
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
Этот код не печатает (0) index
почему? Может кто-нибудь помочь мне решить эту ошибку, пожалуйста