1
我想通过递归方法计算字符串中的字符数。这是我在Java递归计算字符串中的字符数
public class MainClass {
public int length(String str) {
if (str == null) {
return 0;
} else {
return length(str.substring(1))+1; // in eclipse it says : at MainClass.length(MainClass.java:12)
}
}
public static void main(String args[]) {
MainClass m = new MainClass();
System.out.println(m.length("ali"));
}
}
这行代码不起作用:return length(str.substring(1))+1;
我怎样才能正确的代码? 感谢
你期望发生,如果'str'是一个空字符串的引用? (请注意,错误消息应该显示涉及的异常,而不仅仅是“在MainClass.length”中......异常非常重要,并且我期望该消息对您有用......) –
当您到达在递归中你的字符串结尾,你有一个长度为0的字符串,它不是“null”。你的检查''str == null''没有意义。 – f1sh
'return String.length()'? –