【问题标题】:How to count how many times a certain letter is input into c# [closed]如何计算某个字母输入c#的次数[关闭]
【发布时间】:2020-12-10 18:16:25
【问题描述】:

我试图弄清楚如何计算某人输入三个字母之一的次数,以便我可以显示计数。

我正在尝试在 c# Visual Studio 中执行此操作。

例如,如果某人必须注册一项运动,其中 R = 跑步、C = 板球或 B = 拳击 他们输入与他们正在注册的运动相对应的字母,然后下一个人输入他们运动的字母,依此类推。 如何跟踪输入的字母并显示每个字母的输入次数。

感谢您的帮助,我似乎无法在任何地方找到我正在寻找的东西,

【问题讨论】:

  • 通过什么输入(Windows 窗体、网站页面等)?字母是如何存储的?你都尝试了些什么?你有任何代码示例吗?只是需要更多信息让有人在这里提供帮助,我觉得,干杯。
  • 刚通过visual studio进入,
  • 我的第一个想法是您以错误的方式解决了这个问题。也许为每项运动使用复选框,然后用户无需输入即可选择他们的运动。有了这个,你将避免这样的问题。
  • 我不确定天气我必须将字母转换为整数,或者有没有办法将 R、C、B 指定为变量,然后让它确定它读取的内容,然后添加一个一个计数。我会尝试添加一些尝试的代码,我的错。
  • 这是一个真正的应用程序还是家庭作业?一个真正的需要比作业更健壮,这可以通过将值存储在应用程序重新启动时丢失的静态变量中来解决

标签: c# variables count letter


【解决方案1】:

有很多方法可以完成这项任务, 这是一个起点。
你可以创建一个方法(AddCounts()) 它接受一个字母作为参数并将计数推进到全局声明的字典中。

 static void Main(string[] args)
 {
     for (int i = 0; i < 5; i++)
     {
         Console.WriteLine("Enter one Letter and press enter");
         var letter = Console.ReadLine();
         if (letter.Length > 0)
         {   
             AddCounts(letter);
         }
     }

   PrintOutput();
   Console.ReadLine();
 }


 static Dictionary<string, int> LettersCountDictionary = new Dictionary<string, int>();
 public static void AddCounts(string letter)
 {
     if (LettersCountDictionary.ContainsKey(letter))
     {
         LettersCountDictionary[letter]++;
     }
     else
     {
         LettersCountDictionary.Add(letter, 1);
     }
 }

 private static void PrintOutput()
 {
     foreach (KeyValuePair<string, int> itm in LettersCountDictionary)
     {
         Console.WriteLine("Letter: {0} Count: {1}", itm.Key, itm.Value);
     }
 }

【讨论】:

  • 这个问题是一个 XY 问题,您不应该为此提供可能的解决方案。它只会把他送到更远的未知领域。
  • 我一直在争论要不要只写一个大方向的评论,最后变成了一个一般原则的代码示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多