【发布时间】:2020-02-17 21:06:38
【问题描述】:
今天我正在尝试将字符串转换为反向字符串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)
我正在尝试将字符串转换为与上面相同的反向字符串,但通过递归方法,但这似乎太混乱了。并显示更多错误。有人可以帮我理解它。非常感谢
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 为什么?有人可以帮我解决这个错误吗
【问题讨论】:
标签: java string recursion netbeans reverse