黑马程序员技术交流社区

标题: for循环也可以用于未知循环次数的循环吗?可否举个例子呢? [打印本页]

作者: zoufq2010    时间: 2012-2-14 18:59
标题: for循环也可以用于未知循环次数的循环吗?可否举个例子呢?
for循环也可以用于未知循环次数的循环吗?可否举个例子呢?
作者: 岳喜礼    时间: 2012-2-14 19:53
未知次数就用while吧
没必要非得用for
作者: 双十二    时间: 2012-2-14 20:55
可以,用for构建死循环,循环里嵌套条件语句,希望结束是就break退出
作者: zoufq2010    时间: 2012-2-14 21:13
死循环也算啊。。。
作者: 黄晓波    时间: 2012-2-15 09:01
可以,不过一般为无限循环,例如:
int i=1;
for( ; ; )
{
    i+=1;
}
作者: 严海彬    时间: 2012-2-16 09:52
可以,吧另外一个条件表达式作为参数传递进来就可以了
作者: 邓坤    时间: 2012-2-21 13:16
本帖最后由 邓坤 于 2012-2-21 13:18 编辑

这个应该说是可以的。你看一下下面的例子:
首先定义一个方法Add()用来计算数组numbers中的所有数的和,数组中包含多少个数并不知道
static public int Add(int[] numbers)
        {
            int sum = 0;
            for(int i=0;i<numbers.Length;i++)
            {
                sum += numbers;
            }
            return sum;
        }
调用Add方法
int[] a = { 3, 4, 5 };
            int myr = MyClass.Add2(a);
            Console.WriteLine(myr);//输出结果为12,若int[] a={3,4,5,8,5}则输出结果为25
            Console.ReadKey();
不知道这是不是你想要的,这个定义数组中的数可以任意个数。其实对于未知循环次数的最好用while或do...while
作者: 莫洪刚    时间: 2012-2-21 15:46

用while循环,用什么for,do..while也可以

作者: 李树明    时间: 2012-2-21 15:55
本帖最后由 李树明 于 2012-2-21 15:56 编辑

可以,不过一般没人用for循环做未知循环次数的循环
如:
            for (int i = 0; ; i++)
            {
                Console.WriteLine(i);
                if (i > 10)
                {
                    break;
                }
            }
一般会根据实际情况来选择其他的遍历方式:
如:foreach, while ,do...while....
作者: 李紫仪    时间: 2012-2-21 21:25
可以,关键在于循环条件,循环条件可以设为为i<str.length(str为用户输入的字符串)
作者: 李紫仪    时间: 2012-2-21 21:26
不过一般用while比较好
作者: 陆亚    时间: 2012-2-25 23:49
可以,while,do...while和for三者可以相互改写:
假设一个读文本的操作
StreamReader sr = new StreamReader(filePath)
string strLine = sr.ReadLine();
while(strLine != "")
{
     //do

}
作者: 陆亚    时间: 2012-2-25 23:53
while(strLine != “”)

     // do others
    strLine  = sr.ReadLine();


do...while实现

do
{
     string s = sr.ReadLine();
     //do others
}
while(sr.ReadLine() != "")

for实现
for(string strLine = sr.ReadLine();strLine != "";strLine = sr.ReadLine())
{
      //do others
}

可以看出for在该种情况下非常繁琐,用while或do...while非常简洁,因此for多数用于已知循环次数的情况下




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