[在Java中使用递归将字符串转换为反向字符串

问题描述 投票:0回答:2

今天我正在尝试将字串转换为反向字串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转换为与上述相同的反向String,但是通过Recursion方法,但似乎太令人困惑了。并显示更多错误有人可以帮我理解它吗?非常感谢

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");        
    }}

此代码显示在OutPut之后

Running
Is
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1

此代码不打印(0) index为什么?有人可以帮助我解决此错误吗

今天我正在尝试将String转换为反向String eg(Cat正在运行,正在运行,正在运行Cat)而不是逐字字符字符public class ReverseString_ {public static void reverse(String str)...

java string recursion netbeans reverse
2个回答
1
投票

这应该起作用:


0
投票

此解决方案可能会有所帮助。注释几乎解释了代码。

© www.soinside.com 2019 - 2024. All rights reserved.