这个函数比较简单,但是遇到了一个问题。
当使用递归的时候,最后一个字符竟然没有输出出来。
后来修改了一下代码,正确输出了。
Description:
Write a program to reverse a string using recursive methods. You should not use any string reverse methods to do this.
代码:
package test;
import java.util.Scanner;
public class StringRecurReverse {
public String tempString = "";
public String reverseString(String paraString) {
if (paraString.length() == 1) {
return paraString;
} else {
tempString += paraString.charAt(paraString.length() - 1)
+ reverseString(paraString.substring(0,
paraString.length() - 1));
return tempString;
}
}
public static void main(String[] args) {
String newString = "hellow";
Scanner sc = new Scanner(System.in);
System.out.println("Please type in a String: ");
newString = sc.nextLine();
System.out.println("newString = " + newString);
StringRecurReverse str = new StringRecurReverse();
System.out.println(str.reverseString(newString));
}
}
问题及代码思路来源于:http://www.java2novice.com/。
仅供学习参考。