Loops 将for循环转换为do while循环
我是编程新手,我想知道如何将for循环转换为do while循环Loops 将for循环转换为do while循环,loops,Loops,我是编程新手,我想知道如何将for循环转换为do while循环 for(int i=0;i<r;i++) { for(int k=r;k>i;k--) { System.out.print(" "); } int number = 1; for(int j=0;j<=i;j++) { System.out.print(nu
for(int i=0;i<r;i++)
{
for(int k=r;k>i;k--)
{
System.out.print(" ");
}
int number = 1;
for(int j=0;j<=i;j++)
{
System.out.print(number+" ");
number = number * (i - j) / (j + 1);
}
System.out.println();
}
for(int i=0;ii;k--)
{
系统输出打印(“”);
}
整数=1;
对于(int j=0;jdo while循环的结构如下:
do {
some iterative function
} while (some condition is true);
执行while循环将在评估条件之前至少执行一次代码。在执行时请记住这一点。如果类似循环的,则处理while
循环的简单方法是:
for(int i=0;i基本上,您将初始化语句移到do while之前,将increment语句放在do while中,并将终止条件作为while条件
//the innermost loop
int number = 1;
j = 0; //initialization statement
do
{
System.out.print(number + " ");
number = number * (i -j)/(j + 1);
j++; //increment statement
}
while(j < i /* termination condition */);
//最里面的循环
整数=1;
j=0;//初始化语句
做
{
系统输出打印(数字+“”);
数字=数字*(i-j)/(j+1);
j++;//增量语句
}
而(j
严格地说,你不能。它们是不可通约的。for
循环执行零次或多次,因为它在顶部进行测试。do/while
循环执行一次或多次,即至少一次,因为它在底部进行测试。如果你知道条件是正确的,你只能将for
转换为do/while
最初true
如果您有一个类似以下内容的for
循环:
for (int i = a; i < b; i++) {
// Body
}
请注意,您必须将do{…}while(…)
包装在if else
中,因为do while
循环将至少执行一次主体,这对于循环是不正确的
通常,如果您有一个for(初始条件;布尔表达式;incr)
循环,则do while
等价
initial_condition;
if (boolean_expr) {
do {
// Body
incr;
} while (boolean_expr);
}
在for
循环中,您只需提及循环行本身中的所有增量,而在while
循环中,应该只在单词while
旁边的括号内运行循环,并且在while循环中语句末尾的增量条件。Do while
是tle的不同之处在于,即使在检查是否应该执行代码之前,它也会至少执行一次内部代码。那么这里的j
到底是什么呢?@EJB我最初的用于(int I=0;I
但是在我修改for循环后忘了更改它这是什么语言,Java?请编辑您的帖子并包含所用语言的标记。否则人们将无法找到或阅读您的问题。此外,无论编程语言如何,将for循环转换为while循环都是一个非常糟糕的主意。通常,对于迭代的循环来说,简单在已知数量的项目中,循环是最可读的形式,它也倾向于生成尽可能快的代码。而循环应该只在迭代次数事先未知的情况下使用。
for (int i = a; i < b; i++) {
// Body
}
int i = a;
if (i < b) {
do {
// Body
i++;
} while (i < b);
}
initial_condition;
if (boolean_expr) {
do {
// Body
incr;
} while (boolean_expr);
}