黑马程序员技术交流社区

标题: 关于String类的IndexOf()方法 [打印本页]

作者: sym544135698    时间: 2013-7-1 20:47
标题: 关于String类的IndexOf()方法
本帖最后由 sym544135698 于 2013-7-2 08:53 编辑

随意输入一句英文话,里面有多个e,分别找出所有e的位置
  1. string str = Console.ReadLine();
  2.             
  3.             if (str.IndexOf('e') == -1)
  4.             {
  5.                 Console.WriteLine("该字符串中没有e");
  6.             }
  7.             else
  8.             {
  9.                 for (int i=0; i < str.Length; i++)
  10.                 {
  11.                     Console.WriteLine(str.IndexOf('e',i));
  12.                 }      
  13.             }
  14.             Console.ReadKey();
复制代码
惭愧啊,俺现在只能做到这个地步,我的问题在那,这道题改怎么写,求解
作者: 小然    时间: 2013-7-1 23:02
  1. Console.WriteLine("请输入一句话");
  2.             string str = Console.ReadLine();
  3.             char[] num = str.ToCharArray();//把字符串转换成char[]数组
  4.             if (str.IndexOf("e") != -1)//不等于-1的时候,说明用户输入的字符串里面包含e,没有则进入else
  5.             {
  6.                 for (int i = 0; i < num.Length; i++)
  7.                 {
  8.                     if (num[i] == 'e')
  9.                     {
  10.                         Console.WriteLine("e在{0}中的位置是{1}", str, i);
  11.                     }
  12.                 }
  13.             }
  14.             else
  15.             {
  16.                 Console.WriteLine("文本中没有出现这个e");
  17.             }
  18.             Console.ReadKey();
复制代码

作者: sym544135698    时间: 2013-7-2 08:52
嗯,小然同学做的是对的,这样可以,我当时对str.IndexOf("e") 才固执了,一方面对这个方法不熟悉,一方面却又固执的要用它来实现,不知道变通,惭愧啊。要确认e的位置,只需要确认e存在在字符串中,然后把字符串转化成字符数组,,然后就好做了。Thank you。
作者: 王震    时间: 2013-7-5 13:14
string str = Console.ReadLine();
int count=0;
int index=-1;
do
{
index=str.indexOf('e',index+1);
if(indexOf!=-1)
{
Console.WriteLine("e:{0}",(indexOf+1));
count++;
};
}while(indexOf!=-1);
Console.WriteLine("字符串中有{0}个e",count);
Console.Read();




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2