2014-02-26 63 views
0

嗨即時嘗試創建一個遞歸方法,該方法返回字符在一個字內存在的次數。到目前爲止,我已經創建了一種非遞歸實現的方法,但是Im在思考如何遞歸地執行時遇到了麻煩。遞歸查找字符串中出現的字符數

public static int count (String line, char c) 
{ 
    int charOccurences = 0; 
    for (int x = 0 ; x < line.length() ; x++) 
    { 
     if (line.charAt (x) == c) 
     { 
      charOccurences++; 
     } 
    } 
    return charOccurences;  
} 

任何幫助將是偉大的,謝謝。

+0

再次認爲,通過調用count(「Hello World」,'o')''。在你的'count'方法中也放一個println語句。像'System.out.println(line)',我確定你會拿走一些東西。 –

回答

3

你在這裏錯過了一些邏輯。

  • 如果用完字符'c',則lastIndexOf返回-1,這將導致子字符串方法中的錯誤。
  • 您需要一些邏輯來計算c的出現次數。你的遞歸仍然需要將你的調用的返回值加到'count'或你調用的次數。目前最後一次調用的調用將返回0,這將返回。

這聽起來像一個家庭作業的問題,所以我打算讓別人做你的功課你:)

祝你好運!

+0

謝謝我編輯我的帖子,我如何能夠正常這樣做。但我不能想到我可以遞歸地實現同樣的事情。你能給我一個主意嗎? – Noob

+0

你的編輯之前的遞歸幾乎是正確的,你只是缺少一些邏輯。對於提示,請考慮:return count(line,c)+ 1 –

相關問題