Java教程

Java 使用递归反转句子的程序

使用递归反转句子的Java程序

在这个程序中,您将学习使用 Java 中的递归循环反转给定的句子。
要理解此示例,您应该了解以下Java 编程主题:
Java 方法 Java 递归 Java 字符串

示例: 使用递归反转句子

public class Reverse {
  public static void main(String[] args) {
    String sentence = "Go work";
    String reversed = reverse(sentence);
    System.out.println("tde reversed sentence is: " + reversed);
  }
  public static String reverse(String sentence) {
    if (sentence.isEmpty())
      return sentence;
    return reverse(sentence.substring(1)) + sentence.charAt(0);
  }
}
输出:
tde reversed sentence is: krow oG
在上面的程序中,我们有一个递归函数 reverse()
在每次迭代中,我们使用 charAt(0) 将下一个 reverse() 函数的结果添加(连接)到句子的第一个字符。
递归调用必须在 charAt() 之前,因为这样最后一个字符将开始添加到左侧。如果你颠倒顺序,你会得到原来的句子。
最后,我们得到一个空的 sentence 并且 reverse() 返回颠倒的句子。
注意: sentence.substring(1) 方法返回字符串句子中从索引 1 开始到字符串结尾的部分。要了解更多信息,请访问 Java String substring()。
reverse() substring() reversedString
reverse("Go work") "o Work" result + "G"
reverse("o Work") " Work" result + "o" + "G"
reverse(" Work") "Work" result + " " + "o" + "G"
reverse("Work") "ork" result + "W" + " " + "o" + "G"
reverse("ork") "rk" result + "o" + "W" + " " + "o" + "G"
reverse("rk") "k" result + "r" + "o" + "W" + " " + "o" + "G"
reverse("k") "" result + "k" + "r" + "o" + "W" + " " + "o" + "G"
reverse("") - "" + "k" + "r" + "o" + "W" + " " + "o" + "G" = "kroW oG"
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4