🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Java 程序:使用递归来反转字符串 > 原文: [https://beginnersbook.com/2017/09/java-program-to-reverse-a-string-using-recursion/](https://beginnersbook.com/2017/09/java-program-to-reverse-a-string-using-recursion/) 我们将看到两个程序来反转一个字符串。第一个程序使用递归反转给定的字符串,第二个程序读取用户输入的字符串然后反转它。 要了解这些程序,你应该具备以下[核心 java](https://beginnersbook.com/java-tutorial-for-beginners-with-examples/) 概念的知识: 1)[`substring()`](https://beginnersbook.com/2013/12/java-string-substring-method-example/) 2)[`charAt()`方法](https://beginnersbook.com/2013/12/java-string-charat-method-example/) ## 示例 1:用于反转字符串的程序 ```java public class JavaExample { public static void main(String[] args) { String str = "Welcome to Beginnersbook"; String reversed = reverseString(str); System.out.println("The reversed string is: " + reversed); } public static String reverseString(String str) { if (str.isEmpty()) return str; //Calling Function Recursively return reverseString(str.substring(1)) + str.charAt(0); } } ``` **输出:** ```java The reversed string is: koobsrennigeB ot emocleW ``` ## 示例 2:用于反转用户输入的字符串的程序 ```java import java.util.Scanner; public class JavaExample { public static void main(String[] args) { String str; System.out.println("Enter your username: "); Scanner scanner = new Scanner(System.in); str = scanner.nextLine(); scanner.close(); String reversed = reverseString(str); System.out.println("The reversed string is: " + reversed); } public static String reverseString(String str) { if (str.isEmpty()) return str; //Calling Function Recursively return reverseString(str.substring(1)) + str.charAt(0); } } ``` **输出:** ```java Enter your username: How are you doing? The reversed string is: ?gniod uoy era woH ```