java - 如何将FOR转换为WHILE?

标签 java processing

我只想将这个“for-loop”转换为“while-loop”?

我尝试了所有方法,但没有任何效果。

For 循环:

for(int k = 3; k > 0; k--)
{
     if(k % 2 == 0)
         continue;
     println(k);
}

我尝试过:

int k = 3;
while(k > 0)
{
    if (k % 2 == 0){
        continue;
    }
    k--;
    println(k);
}

但是控制台显示不同的值?你能帮我吗?

最佳答案

您必须更改控制变量 k在循环末尾且 continue 之前陈述。就在再次评估循环的条件表达式之前:

int k = 3;
while(k > 0)
{
    if (k % 2 == 0) {
        k --;      // <--- add
        continue; 
    }

    // k--;          <--- remove
    println(k);

    k --;         // <--- add
}

注意,a for循环由初始化语句条件表达式迭代表达式组成。
如果 for循环语句必须表示为 while循环语句,那么初始化语句必须在循环之前完成,条件表达式可以重用于while中的条件循环和迭代表达式必须在 while 中最后完成环形。此外,迭代表达式必须在每个 continue 之前完成。 while 中的声明循环。

如果continue语句被消除,在循环结束时执行一次迭代表达式就足够了:

int k = 3;
while(k > 0)
{
    if (k % 2 != 0) {
        println(k);
    }
    k --;
}

关于java - 如何将FOR转换为WHILE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55719552/

相关文章:

java - 如何在 java 中使用 JAX - RS 和 tomcat 在 eclipse 中使用 Web 服务从数据库中插入和检索数据

java - 不完整的java字节码

java - 如何调用具有数据提供者的方法

javascript - 模拟鼠标移动,不起作用

java - 从 3 个 Kinect 相机读取数据时出现问题

java - 为什么java中有这么多获取日期时间的方法?

java - Hibernate无法创建 session

processing - 处理中的突破(游戏)

javascript - 将图像从 Javascript 显示到Processing.js Canvas

java - A* 寻路问题处理(Java)