作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只想将这个“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/
我是一名优秀的程序员,十分优秀!