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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 肖云 中级黑马   /  2012-6-3 13:47  /  2464 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以下是我写的一个程序:  要求找出一句话中所有e的位置;虽然可以找出来,但是之间会有空格出现.如何不让空格出现,求解!!!
           Console.WriteLine("请输入一句包含多个e的英文");
            string result = Console.ReadLine();
            int aa;
            for (int i = 0; i < result.Length; i++)
            {
                aa = result.IndexOf("e",i,1);
                if (aa == -1)    //如果不要此if判断,那么就会输出-1
                {
                    Console.WriteLine();
                }
                else
                {
                    Console.WriteLine(aa);
                }
            }
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览
string str = Console.ReadLine();
            char[] arr = str.ToCharArray();
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] == 'e')
                {
                    Console.WriteLine(i);
                }
            }
可以将接收到字符串转换成Char类型的数组,在去循环数组,此时我们可以判断数组每个下表对应的值,我们只需要把i的之打印出来就是e出现的位置了

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
if (aa == -1)    //如果不要此if判断,那么就会输出-1
                {
                   // Console.WriteLine();
                    
                }

把if语句中的这句输出语句注释掉就可以了  写上就表示如果对应下表的字母不是e就输出一行  两个e中间有几个字母它就会打印几行出来。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
可以用Trim()方法去除字符串的空格

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
if (aa == -1)
{
      Console.WriteLine();
}

这一句哦。每一次判断aa只要==-1就会执行 Console.WriteLine();当然就会输出空行啦。
这里可以改成continue。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

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