使用递归来反转字符串的简单程序。唯一的问题是我在运行程序时遇到错误。
import java.util.Scanner;
public class reverseString {
public static String reverseTheString(String s){
if (s.length() == 0)
return s;
return reverseTheString(s.substring(1) + s.charAt(0));
}
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter a string to be reversed.");
String s = keyboard.nextLine();
reverseTheString(s);
}
}
答案 0 :(得分:1)
当字符串的长度== 1时,它将在递归调用时失败,因为在这种情况下,你仍然会在索引0和1(超出范围)处取消引用。
反转对字符串长度有意义> = 2.将地面检查更改为。