java - 使用递归和子字符串方法向后显示字符串

标签 java recursion substring

我目前无法解决我的代码及其问题。我正在尝试创建一种通过递归和使用子字符串向后显示字符串的方法。例如,如果我把“10 ten”作为我的参数,它应该反转单词并重复字母 3 次。

它会像这样显示: nneeettt

这是我的方法的一部分,重点关注该部分。

public static String method3(Integer num,String line)
   {
   	   //base case
      if (line.length() == 1)
      	  //return line + line + line;
         return line.substring(line.length()) + line.substring(line.length()) + line.substring(line.length());
      	//recursive case	
      else{
      
         return method3(num,line.substring(1)) + line.charAt(0) + line.charAt(0) + line.charAt(0);
      }
   }//end of else

我的输出显示如下:

nnnee

还少了一个 “e”和最后 3 个“t”

编辑:

这是我的第二种方法,“10 ten”重复单词两次而不是三次并且不反转

public static String method2(Integer num, String line)
   {
   	   //base case
      if(line.length() == 1)
         return line + line;
      		
      	//recursive case
      else{
         return line.substring(0,1) + line.substring(0,1)
                   + method2(num,line.substring(1,line.length()));
      }//end of else
   }//end of method2

输出: 青少年

最佳答案

这是一种方法:

private static String reverse(String string) {
    if(string.length() == 1)
        return string + string + string;

    else 
        return reverse(string.substring(1)) + string.charAt(0) + string.charAt(0) + string.charAt(0);
}

关于java - 使用递归和子字符串方法向后显示字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39552485/

相关文章:

java - 如何在 foreach 方法中从流中删除对象?

java - 从 fat jar 启动 Dataflow 作业时暂存包时出错

c - 从完全二叉树中删除最后一个节点

javascript - jQuery:将 <span> 包裹在子字符串周围......关闭,但不完全

swift - 在 Swift 中获取子字符串到索引

c - c中的子串位置

java - 实现 Serialized 的类无法读取Object

java - HttpsURLConnection 在调用 getInputStream() 时停止

Java递归电话号码字母

c - 归并排序和递归