我正在使用if条件语句和一个do while循环。我希望每次当编译器运行程序时,它应该打印“IF”中的语句,直到它小于15。发生的事情是,作业在do-while循环中进行得很好,但是“IF”中的语句只打印了一次?我哪里错了?如果有人能解释一下流程,我会非常感激,因为我是一个初学者。代码见下文:
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
发布于 2013-03-02 10:50:15
if语句在do while循环之外。将其放入do {}块中
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);
}
}发布于 2013-03-02 10:50:29
您正在寻找与此更接近的东西:
while(n<15) {
System.out.println("print value of n is equal to"+ n);
n++
}{和}中的代码块将不断运行,直到n达到大于或等于15的值。
使用当前代码,完整的打印语句只输出一次,因为它没有包含在while循环中。
发布于 2013-03-02 10:50:29
我猜这就是你想要的:
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
从这里到while,do {在大括号之间重复代码。
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,所以否,退出循环。
节目结束。
https://stackoverflow.com/questions/15170126
复制相似问题