1

我尝试在 Stackflow 中搜索以帮助我回答我的问题,但我没有任何运气,因为我找到的主要是 C++ 或 Java。我最近学习了递归,所以请原谅我无法理解与它相关的一些术语。

我对谁能回答的问题是,我的代码中缺少什么?我需要我的代码来成功计算我放入字符串的语句中的特定字符。现在我的代码只打印出声明。

public class CountCharacter
{
    public static void Main (string[] args)
    {
        string s = "most computer students like to play games";
        Console.WriteLine(s);
    }

    public static int countCharacters( string s, char c)
    {
        if (s.Length ==0)
            return 0;
        else if (s[0]==c)
            return 1+ countCharacters(s.Substring(1), 's');
        else
            return 0 + countCharacters (s.Substring(1),'s');
    }
}
4

2 回答 2

3

尝试这个:

public class CountCharacter
{
    public static void Main (string[] args)
    {
        string s = "most computer students like to play games";
        Console.WriteLine(countCharacters(s, 's'));
    }

    public static int countCharacters( string s, char c)
    {
        if (s.Length == 0)
            return 0;
        else if (s[0] == c)
            return 1 + countCharacters(s.Substring(1), c);
        else
            return countCharacters(s.Substring(1), c);
    }
}
于 2013-10-11T22:30:46.587 回答
1
        static void Main(string[] args)
        {
            string s = " acv jk   ik  ";
            Console.WriteLine("Total space: {0}", CountSpace(s));
            Console.ReadLine();
        }

        private static int CountSpace(string s)
        {
            if (s.Length > 1)
                return s[0] == ' ' ? 1 + CountSpace(s.Substring(1, s.Length - 1)) : CountSpace(s.Substring(1, s.Length - 1));
            return s[0] == ' ' ? 1 : 0;
        }
于 2018-10-30T13:17:51.583 回答