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()'? –