日期:2014-05-17  浏览次数:21306 次

java for循环,只有2个参数,这是怎么回事?
java for循环,只有2个参数,这是怎么回事?
请高手帮忙解答一下,十分感谢。
for(Enumeration e = poolMgr.getResourcePools(); e.hasMoreElements(); ) ‘为什么只有2个参数呢
{

appPool = (ApplicationPool)e.nextElement();

if(appPool != null){

out.print("<LI>" + appPool.getName());

  out.println("Count : " +(count++));
out.print("<pre>");

appPool.dumpPoolStatistics(new PrintWriter(out));

out.print("</pre>");

out.print("</LI>");

}

}

------解决方案--------------------
for 循环没有规定三个参数都是必输的,但是为了区别参数的位置, 分号 ;还是要有的.


LZ 这个例子是一个迭代 

我举个别的例子
Java code

    int i=0;
        for(;i<10;i++){
            System.out.println(i);
        }

------解决方案--------------------
这里还是有三个参数 只不过第三个参数为空而已
因为这句
appPool = (ApplicationPool)e.nextElement();
已经使循环控制变量e移动到下一个节点了
所以就不需要for的第三个参数来控制其移动了
------解决方案--------------------
首先把poolMgr.getResourcePools(); 值赋给Enumeration e 对象,
后面判断是否存在下一个值

相当于以下写法
Java code

Enumeration e = poolMgr.getResourcePools(); 

while(e.hasMoreElements())
{
    .....
}

------解决方案--------------------
for的语法,for(初始化; 条件判断; 循环后处理)
每个部分都可以省略,但是;要保留
如,无限循环
Java code
for(;;) {
    System.out.println("loop");
}

------解决方案--------------------
举个例子给你啊 for(iterater iter=list.iter;iter.hasnext;){
Map map=iter.next();
进行取值操作

}

这里用到了java的一个iterate迭代器进行遍历,也是2个参数

------解决方案--------------------
探讨
for的语法,for(初始化; 条件判断; 循环后处理)
每个部分都可以省略,但是;要保留
如,无限循环
Java code
for(;;) {
System.out.println("loop");
}