我尝试在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');
}
}
答案 0 :(得分: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);
}
}
答案 1 :(得分:0)
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;
}