下面的代码试图给定一个字符串,递归计算(无循环)字符串中小写“x”字符的数量。
代码出现此错误:线程“main”中的异常 java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0
这段代码的主要方法是:
public static void main(String [] args)
{
System.out.println(countX("hx1x"));
}
实际代码是:
public static int countX(String str)
{
if(str.charAt(0) != 'x')
{
if(str.indexOf('x') >= 1)
{
return countX(str.substring(1, str.length()));
}
else
{
return 0;
}
}
else
{
return 1 + countX(str.substring(1, str.length()));
}
}