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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋健 中级黑马   /  2013-3-13 15:53  /  1623 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

要求用户输入字符串,如果字符串中存在数字,转换成汉字输出,
如“abd3567"→”abd三五六七“
谢谢。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

4 个回复

倒序浏览
先split逐字分割,for循环遍历,switch判断返回,因为单个数字0-9

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
我觉得用ToCharArray()好处理一些吧 下面是我写的例子
            //要求用户输入字符串,如果字符串中存在数字,转换成汉字输出,
//如“abd3567"→”abd三五六七“
            Console.WriteLine("请输入字符");
            String strin = Console.ReadLine();
            Char[] chars = strin.ToCharArray();
            for (int i = 0; i < chars.Length; i++)
            {
                switch (chars[i])
                {
                    case '0':
                        chars[i] = '零';
                        break;
                    case '1':
                        chars[i] = '一';
                        break;
                    case '2':
                        chars[i] = '二';
                        break;
                    case '3':
                        chars[i] = '三';
                        break;
                    case '4':
                        chars[i] = '四';
                        break;
                    case '5':
                        chars[i] = '五';
                        break;
                    case '6':
                        chars[i] = '六';
                        break;
                    case '7':
                        chars[i] = '七';
                        break;
                    case '8':
                        chars[i] = '八';
                        break;
                    case '9':
                        chars[i] = '九';
                        break;
                }
            }
            Console.WriteLine(new string(chars));
            Console.ReadKey();
            
        }

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 曾玉锋 于 2013-3-13 17:50 编辑

string numstr="0123456789";
string chstr="l零一二三四五六七八九";
//创建一个Dictionary<char,char> 集合,用于存储键值对
Dictionary<char,char> dic=new Dictionary<char,char>();
for(int i=0;i<numstr.Length;i++)
{
    dic.add(numstr,chstr);
}

Console.WriteLine("请输入");
string input=Console.ReadLine();
StringBuilder sb=new StringBuilder();
//遍历字符串中的所有字符,追加到sb
for(int i=0;i<input.Length;i++)
{
   if(dic.keys.Contains(input))
  {
      sb.Apend(dic[input]);
      continue;
  }
  sb.Apend(input);
}
Console.WriteLine("转换后的字符串:"+sb.toString());

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
宋健 + 3
张文 + 1

查看全部评分

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