首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用IF的do-while循环

使用IF的do-while循环
EN

Stack Overflow用户
提问于 2013-03-02 10:46:30
回答 8查看 192关注 0票数 1

我正在使用if条件语句和一个do while循环。我希望每次当编译器运行程序时,它应该打印“IF”中的语句,直到它小于15。发生的事情是,作业在do-while循环中进行得很好,但是“IF”中的语句只打印了一次?我哪里错了?如果有人能解释一下流程,我会非常感激,因为我是一个初学者。代码见下文:

代码语言:javascript
复制
package loopexamples2;

public class DoWhileLoop {

public static void main(String[] args) {
    int n = 1;
    if(n<15)

        System.out.println("print value of n is equal to"+ n);

    do {
     System.out.println(n);
     n++;
    }
     while(n<10);           
    }
}

输出-->打印值n等于to1 1 2 3 4 5 6 7 8 9

EN

回答 8

Stack Overflow用户

发布于 2013-03-02 10:50:15

if语句在do while循环之外。将其放入do {}块中

代码语言:javascript
复制
package loopexamples2;

public class DoWhileLoop {

public static void main(String[] args) {
    int n = 1;

    do {
     if(n<15) {
        System.out.println("print value of n is equal to"+ n);
     }
     System.out.println(n);
     n++;
    }
     while(n<10);           
    }
}
票数 3
EN

Stack Overflow用户

发布于 2013-03-02 10:50:29

您正在寻找与此更接近的东西:

代码语言:javascript
复制
while(n<15) {
    System.out.println("print value of n is equal to"+ n);
    n++
}

{}中的代码块将不断运行,直到n达到大于或等于15的值。

使用当前代码,完整的打印语句只输出一次,因为它没有包含在while循环中。

票数 1
EN

Stack Overflow用户

发布于 2013-03-02 10:50:29

我猜这就是你想要的:

代码语言:javascript
复制
package loopexamples2;

public class DoWhileLoop {

    public static void main(String[] args) {
        int n = 1;        
        do {
           System.out.println("print value of n is equal to"+ n);
           n++;
        } while(n<10);           
    }
}

代码流:

int n = 1;将n赋值为1

从这里到whiledo {在大括号之间重复代码。

System.out.println("print value of n is equal to"+ n);打印print value of n is equal to1

n++;将n递增1,因此n=2

} while(n<10);是n< 10?是的,所以从do开始重复

System.out.println("print value of n is equal to"+ n);打印print value of n is equal to2

n++;将n递增1,因此n=3

} while(n<10);是n< 10?N=3,所以可以,从do开始重复

...same的事情一直重复,直到...

System.out.println("print value of n is equal to"+ n);打印print value of n is equal to9

n++;将n递增1,因此n= 10

} while(n<10);是n< 10?N= 10,所以否,退出循环。

节目结束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15170126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档