Loops 将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循环转换为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(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);
}