A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//输出里面每个字母出现的字数  关键字 键值集合

            string str = "a  bcdfs   wq  ads";
               Dictionary<char,int>  check=new  Dictionary<char,int>();
               for (int i = 0; i <str.Length; i++)
               {

                   if (str[i]==' ')//因为给出的字符串中有空格,当程序运行到空格时,就不再执行下面的代码进行下一次循环
                   {
                       continue;
                   }
                   if (check.ContainsKey(str[i]))//如果前面遇到过
                   {
                       check[str[i]] += 1;//那么次数就加1
                   }
                   else
                   {
                       check[str[i]] = 1;//如果没有就把这个值绑定到这个键上,是键值集合中的另外一种赋值方式
                   }
               }
               foreach (KeyValuePair<char,int> item in check)
               {
                   Console.WriteLine("这个字母{0}出现的次数是{1}",item.Key,item.Value);
               }
               Console.ReadKey();

2 个回复

倒序浏览
谢谢分享
回复 使用道具 举报
还用用到 Dictionary了?   

static void Main(string[] args)
        {
            Console.WriteLine("输入一个字符串:");
            string str = Console.ReadLine().ToLower();//定义接收一个字符字符串,全部转换成小写字母
            for (int i = 0; i < str.Length;i++)//循环截取字符串中的char字符
            {
                if(str[i]!=' '){//判断是否为空
                    int count = 0;//定义出现次数的变量
                    for (int j = 0; j < str.Length; j++) //循环比较
                    {
                       //查出相同的计数加一次
                        if(str[i]==str[j])
                        count++;
                    }
                    Console.WriteLine(str[i]+" "+count);//输出字出现的次数
                    str = str.Replace(str[i],' ');//把判断过的字符替换成空格
                }
            }

            Console.ReadKey();

        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马