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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘欢 中级黑马   /  2013-6-25 15:17  /  1223 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘欢 于 2013-6-28 16:56 编辑
  1. //4、让用户输入一英文语句,这句换包含多个e,分别找出所有e的位置。

  2. Console.WriteLine("请输入一句英文语句:");
  3. string input = Console.ReadLine();

  4. //input.Contains

  5. for (int i = 0; i < input.Length; i++)
  6. {
  7. if (input[i]=='e')
  8. {
  9. Console.Write(i+1+",");
  10. }
  11. }

  12. Console.ReadKey();
复制代码
有没有使用 字符串处理  的方法,解决这个问题?

评分

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

查看全部评分

3 个回复

倒序浏览
Console.WriteLine("请输入一个字符串:");
            string strInput = Console.ReadLine();
            char[] chars = strInput.ToCharArray();
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < strInput.Length; i++)
            {
                if (chars[i] == 'e')
                {
                    sb = sb.Append(i.ToString ()+" ");
                }
            }
            Console.WriteLine(sb.ToString ());
这里你可以用StringBuilder ,也可以直接用string,一般遇到字符串相加,我都是前者

QQ图片20130625155213.jpg (8.26 KB, 下载次数: 0)

QQ图片20130625155213.jpg
回复 使用道具 举报
如有特殊用途,可定义数组标记存放,代码如下:
Console.WriteLine("请输入一个字符串:");
            string Input = Console.ReadLine();
            char[] testChars = Input.ToLower().ToArray(); //转换成小写并分解成字符数组
            int[] position = new int[Input.Length]; //标记下标
            for (int i = 0; i < Input.Length; i++) //得到标记
            {
                if (testChars[i] == 'e')
                {
                    position[i] =  1;
                }
            }
            for (int j = 0; j < Input.Length; j++) //打印标记
            {
                if (position[j] == 1)
                {
                    Console.WriteLine("第{0}个字符是‘e’!", j+1);
                }
            }
            Console.ReadKey();

评分

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

查看全部评分

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